新しい行にデータを入力すると、表またはリストオブジェクトの式を自動的に伝播させます
Contents
[
Hide
]
可能な使用シナリオ
時々、新しいデータを入力する際に表やリストオブジェクトの式が自動的に新しい行に伝播することが必要です。これはMicrosoft Excelのデフォルトの動作です。Aspose.Cellsでも同じことを実現するには、ListColumn.Formula プロパティを使用してください。
新しい行にデータを入力する際に、表やリストオブジェクトの式を自動的に伝播させる
次のサンプルコードは、新しいデータを入力すると列Bの式が自動的に新しい行に伝播するような表やリストオブジェクトを作成します。このコードで生成された出力エクセルファイルを確認してください。セルA3に数値を入力すると、セルB2の式が自動的にセルB3に伝播することが確認できます。
サンプルコード
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 | |
// 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"); |