Автоматическое распространение формулы в таблице или объекте списка при вводе данных в новые строки
Contents
[
Hide
]
Возможные сценарии использования
Иногда вам нужно, чтобы формула в вашей таблице или объекте списка автоматически распространялась на новые строки при вводе новых данных. Это поведение по умолчанию для Microsoft Excel. Чтобы добиться того же с Aspose.Cells, используйтеСписокКолонка.Формулаимущество.
Автоматическое распространение формулы в таблице или объекте списка при вводе данных в новые строки
Следующий пример кода создает объект Table или List таким образом, что формула в столбце B будет автоматически распространяться на новые строки при вводе новых данных. Пожалуйста, проверьтевыходной файл excel генерируется с помощью этого кода. Если вы введете любое число в ячейку 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"); |