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