新しい行にデータを入力すると、表またはリストオブジェクトの式を自動的に伝播させます

可能な使用シナリオ

時々、新しいデータを入力する際に表やリストオブジェクトの式が自動的に新しい行に伝播することが必要です。これはMicrosoft Excelのデフォルトの動作です。Aspose.Cellsでも同じことを実現するには、ListColumn.Formula プロパティを使用してください。

新しい行にデータを入力する際に、表やリストオブジェクトの式を自動的に伝播させる

次のサンプルコードは、新しいデータを入力すると列Bの式が自動的に新しい行に伝播するような表やリストオブジェクトを作成します。このコードで生成された出力エクセルファイルを確認してください。セルA3に数値を入力すると、セルB2の式が自動的にセルB3に伝播することが確認できます。

サンプルコード

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// The path to the documents directory.
String dataDir = Utils.getSharedDataDir(PropagateFormulaInTableorListObject.class) + "articles/";
// Create workbook object
Workbook book = new Workbook();
// Access first worksheet
Worksheet sheet = book.getWorksheets().get(0);
// Add column headings in cell A1 and B1
sheet.getCells().get(0, 0).putValue("Column A");
sheet.getCells().get(0, 1).putValue("Column B");
// Add list object, set its name and style
int idx = sheet.getListObjects().add(0, 0, 1, sheet.getCells().getMaxColumn(), true);
ListObject listObject = sheet.getListObjects().get(idx);
listObject.setTableStyleType(TableStyleType.TABLE_STYLE_MEDIUM_2);
listObject.setDisplayName("Table");
// Set the formula of second column so that it propagates to new rows
// automatically while entering data
listObject.getListColumns().get(1).setFormula("=[Column A] + 1");
// Save the workbook in xlsx format
book.save(dataDir + "PropagateFormulaInTable_out.xlsx");