新しい行にデータを入力しながら、テーブルまたはリスト オブジェクトに数式を自動的に適用する

考えられる使用シナリオ

場合によっては、新しいデータを入力するときに、テーブル オブジェクトまたはリスト オブジェクトの式を新しい行に自動的に反映させたいことがあります。これは、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");