共有数式の設定(C++)

Aspose.Cellsを使用した共有式の設定

次のサンプルワークシートのようなデータで満たされたワークシートがあるとします。

入力ファイル(1列のデータ)
todo:image_alt_text

B2に関数を追加し、最初のデータ行の売上税を計算したいとします。税金は9%です。売上税を計算する式は次のとおりです:"=A2*0.09"。この記事では、Aspose.Cellsでこの式を適用する方法について説明します。

Aspose.Cellsを使用すると、GetFormula プロパティを使用して式を指定できます。その他のセル(B3、B4、B5など)に式を追加するためには、2つのオプションがあります。

最初のセルのように操作し、各セルに対して数式を設定し、セル参照を更新します(A30.09、A40.09、A5*0.09など)。これには各行のセル参照を更新する必要があります。また、Aspose.Cellsは各数式を個別に解析しなければならず、大きなスプレッドシートや複雑な数式の場合は時間がかかることがあります。さらに、ループで多少簡略化できますが、追加のコード行が必要です。

もう1つの方法は、共有式を使用することです。共有式を使用すると、式は各行のセル参照に自動的に更新されるため、税金が正しく計算されます。SetSharedFormula メソッドは、最初の方法よりも効率的です。

次の例では、その使用方法を示しています。

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

using namespace Aspose::Cells;

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

    // Source directory path
    U16String srcDir(u"..\\Data\\01_SourceDirectory\\");

    // Output directory path
    U16String outDir(u"..\\Data\\02_OutputDirectory\\");

    // Path of input excel file
    U16String inputFilePath = srcDir + u"source.xlsx";

    // Path of output excel file
    U16String outputFilePath = outDir + u"Output_out.xlsx";

    // Instantiate a Workbook from existing file
    Workbook workbook(inputFilePath);

    // Get the cells collection in the first worksheet
    Cells cells = workbook.GetWorksheets().Get(0).GetCells();

    // Apply the shared formula in the range i.e.., B2:B14
    cells.Get(u"B2").SetSharedFormula(u"=A2*0.09", 13, 1);

    // Save the excel file
    workbook.Save(outputFilePath, SaveFormat::Xlsx);

    std::cout << "Shared formula applied and file saved successfully!" << std::endl;

    Aspose::Cells::Cleanup();
}