Zugreifen und Aktualisieren der Abschnitte von Rich Text einer Zelle mit C++
Contents
[
Hide
]
Mit Aspose.Cells können Sie auf die Teile des Rich-Texts einer Zelle zugreifen und diese aktualisieren. Hierfür können Sie die Cell->GetCharacters() und Cell->SetCharacters() Methoden verwenden. Diese Methoden geben ein Array von FontSetting-Objekten zurück und akzeptieren dieses, mit dem Sie verschiedene Eigenschaften der Schriftart wie Schriftartname, Schriftfarbe, Fettgedrucktheit usw. ändern können.
Teile des Rich-Texts der Zelle zugreifen und aktualisieren
Der folgende Code demonstriert die Verwendung der Cell->GetCharacters()- und Cell->SetCharacters()-Methoden mit der Quell-Excel-Datei. Die Quell-Excel-Datei enthält einen Rich-Text in Zelle A1 mit 3 Abschnitten, die jeweils eine andere Schriftart haben. Der Code greift auf diese Abschnitte zu und aktualisiert die Schriftart des ersten Abschnitts auf “Arial”. Die modifizierte Arbeitsmappe wird als Ausgabe-Excel-Datei gespeichert.
C++-Code zum Zugriff und zur Aktualisierung von Rich-Text-Abschnitten
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main()
{
Aspose::Cells::Startup();
U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
U16String outDir(u"..\\Data\\02_OutputDirectory\\");
U16String inputPath = srcDir + u"Sample.xlsx";
U16String outputPath = outDir + u"Output.out.xlsx";
Workbook workbook(inputPath);
Worksheet worksheet = workbook.GetWorksheets().Get(0);
Cell cell = worksheet.GetCells().Get(U16String(u"A1"));
std::cout << "Before updating the font settings...." << std::endl;
Vector<FontSetting> fnts = cell.GetCharacters();
for (int i = 0; i < fnts.GetLength(); ++i)
{
FontSetting& fs = fnts[i];
std::cout << fs.GetFont().GetName().ToUtf8() << std::endl;
}
if (fnts.GetLength() > 0)
{
FontSetting& fs = fnts[0];
fs.GetFont().SetName(u"Arial");
cell.SetCharacters(fnts);
}
std::cout << std::endl << "After updating the font settings...." << std::endl;
fnts = cell.GetCharacters();
for (int i = 0; i < fnts.GetLength(); ++i)
{
FontSetting& fs = fnts[i];
std::cout << fs.GetFont().GetName().ToUtf8() << std::endl;
}
workbook.Save(outputPath);
Aspose::Cells::Cleanup();
return 0;
}
Von der Beispiellösung generierte Konsolenausgabe
Hier ist die Konsolenausgabe beim Verwenden der Quell-Excel-Datei:
Before updating the font settings....
Century
Courier New
Verdana
After updating the font settings....
Arial
Courier New
Verdana