poi-ooxml 3.9を使用して、dbに保存しているExcelテンプレートから請求書レポートを生成します。シートの最後に、合計やその他の税計算を行う数式があります。
cell D30 =SUM(D22:D28) cell D31 =D30*0.12 cell D32 =D31*0.02 cell D33 =D31*0.01 cell D35 =SUM(D30:D33)
シートを新しいファイルに書き込む前に、数式を評価しますが、何も機能しません。以下のコードは、数式を評価するために使用されます。セルに値を書き込むときはいつでも、または操作の最後にのみ数式を評価する必要がありますか?
String formulaCells[] = { "D30", "D31", "D32", "D33", "D35" };
FormulaEvaluator formulaEvaluator = workBook.getCreationHelper()
.createFormulaEvaluator();
Sheet sheet = workBook.getSheetAt(0);
for (String cellRef : formulaCells) {
CellReference ref = new CellReference(cellRef);
Row actualRow = sheet.getRow(ref.getRow());
Cell cell = actualRow.getCell(ref.getCol());
if (cell != null) {
// here I evaluate the formula
formulaEvaluator.evaluateFormulaCell(cell);
私が逃したものは何ですか?
注:生成されたシートを開き、すべてのセルでEnterキーを押した後でのみ、数式が評価されます。