C++を使用してセルのリッチテキスト部分のアクセスと更新

セルのリッチテキストの部分にアクセスして更新

以下のコードは、ソースExcelファイルを使用したCell->GetCharacters()およびCell->SetCharacters()メソッドの使用例を示しています。ソースExcelファイルのセルA1には3つの部分に分かれたリッチテキストがあり、それぞれ異なるフォントが設定されています。このコードはこれらの部分にアクセスし、最初の部分のフォントを**“Arial”**に更新します。修正したブックは出力Excelファイルとして保存されます。

リッチテキスト部分にアクセスし更新するC++コード

#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;
}

サンプルコードによって生成されたコンソール出力

こちらはソースExcelファイルを使用したときのコンソール出力例です:

Before updating the font settings....
Century
Courier New
Verdana

After updating the font settings....
Arial
Courier New
Verdana