他の言語で小計や総計ラベルを実装する(C++使用)

可能な使用シナリオ

中国語、日本語、アラビア語、ヒンディー語などの非英語言語で小計と合計のラベルを表示したい場合があります。Aspose.Cellsは、GlobalizationSettingsクラスとWorkbook.GetGlobalizationSettings()プロパティを使用してこれを可能にします。GlobalizationSettingsクラスの利用方法についてはこちらの記事を参照してください:

他の言語で小計または合計ラベルを実装する

以下のサンプルコードは、サンプルExcelファイルを読み込み、中国語で小計と合計の名前を実装しています。このコードで生成された出力Excelファイルを参考にしてください。まずGlobalizationSettingsクラスを作成し、それをコードで使用します。

#include "Aspose.Cells.h"
using namespace Aspose::Cells;

class GlobalizationSettingsImp : public GlobalizationSettings
{
public:
    U16String GetTotalName(ConsolidationFunction functionType) override
    {
        return u"Chinese Total - \u53EF\u80FD\u7684\u7528\u6CD5";
    }

    U16String GetGrandTotalName(ConsolidationFunction functionType) override
    {
        return u"Chinese Grand Total - \u53EF\u80FD\u7684\u7528\u6CD5";
    }
};

次に、以下のように上記で作成したクラスをコード内で使用します:

#include <iostream>
#include "Aspose.Cells.h"

using namespace Aspose::Cells;

class GlobalizationSettingsImp : public GlobalizationSettings {
public:
    virtual U16String GetTotalName(ConsolidationFunction functionType) override {
        return u"Custom Total";
    }

    virtual U16String GetGrandTotalName(ConsolidationFunction functionType) override {
        return u"Custom Grand Total";
    }
};

int main() {
    Aspose::Cells::Startup();

    U16String srcDir(u"..\\Data\\01_SourceDirectory\\");
    U16String outDir(u"..\\Data\\02_OutputDirectory\\");

    Workbook wb(srcDir + u"sample.xlsx");

    GlobalizationSettingsImp gsi;
    wb.GetSettings().SetGlobalizationSettings(&gsi);

    Worksheet ws = wb.GetWorksheets().Get(0);

    CellArea ca = CellArea::CreateCellArea(u"A1", u"B10");
    ws.GetCells().Subtotal(ca, 0, ConsolidationFunction::Sum, {2, 3, 4});

    ws.GetCells().SetColumnWidth(0, 40);

    wb.Save(outDir + u"output_out.xlsx");

    std::cout << "Subtotal applied successfully!" << std::endl;

    Aspose::Cells::Cleanup();
    return 0;
}