Formel in Tabelle oder List Objekt automatisch propagieren, während neue Zeilen eingegeben werden
Mögliche Verwendungsszenarien
Manchmal möchten Sie, dass sich eine Formel in Ihrer Tabelle oder Ihrem Listenobjekt automatisch auf neue Zeilen ausbreitet, während Sie neue Daten eingeben. Dies ist das Standardverhalten von Microsoft Excel. Um dasselbe mit Aspose.Cells zu erreichen, verwenden Sie bitte die ListColumn.Formula-Eigenschaft.
Formel in Tabelle oder List-Objekt automatisch propagieren, während neue Zeilen eingegeben werden
Der folgende Beispielcode erstellt eine Tabelle oder ein Listenobjekt so, dass die Formel in Spalte B automatisch auf neue Zeilen ausbreitet, wenn Sie neue Daten eingeben. Bitte überprüfen Sie die mit diesem Code generierte Ausgabe-Excel-Datei. Wenn Sie eine beliebige Zahl in Zelle A3 eingeben, sehen Sie, dass die Formel in Zelle B2 automatisch auf Zelle B3 ausbreitet.
Beispielcode
// 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"); |