共有式数式の設定
次のサンプルワークシートのようなデータで満たされたワークシートがあるとします。
1列分またはデータを含んだ入力ファイル
B2に関数を追加し、最初のデータ行の売上税を計算したいとします。税金は9%です。売上税を計算する式は次のとおりです:"=A2*0.09"。この記事では、Aspose.Cellsでこの式を適用する方法について説明します。
Aspose.Cellsを使用すると、Cell.Formula プロパティを使用して式を指定できます。具体的には、Cell.setFormula() およびCell.getFormula() を使用します。
列の他のセル(B3、B4、B5など)に数式を追加するための2つのオプションがあります。
最初のセルに対して行ったことをその他のセル(A30.09、A4 0.09、A5*0.09など)に対して行い、それぞれの行のセル参照を更新するという方法があります。これには各行のセル参照の更新が必要です。また、Aspose.Cellsは個々の数式を解析する必要があり、大きなスプレッドシートや複雑な数式の場合には時間がかかる可能性があります。また、ループを使用してコード行を削減できますが、追加のコード行が追加されます。
別のアプローチとして、共有式 を使用する方法があります。共有式を使用すると、各行のセル参照に対して数式が自動的に更新されるため、税金が適切に計算されます。Cell.setSharedFormula メソッドは、最初の方法よりも効率的です。
次の例では、その使用方法を示しています。スクリーンショットは、出力ファイルを示しています。
出力ファイル:共有式が適用された
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
String dataDir = Utils.getDataDir(SettingSharedFormula.class);
String filePath = dataDir + "input.xlsx";
// Instantiate a Workbook from existing file
Workbook workbook = new Workbook(filePath);
// 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("B2").setSharedFormula("=A2*0.09", 13, 1);
// Save the excel file
workbook.save(dataDir + "output.xlsx", SaveFormat.XLSX);