Ricezione di notifiche durante la fusione dei dati con Smart Markers

Ricevere notifiche durante la fusione dei dati con Smart Markers

Il seguente codice dimostra l’utilizzo dell’interfaccia ISmartMarkerCallBack per definire una nuova classe che gestisce la chiamata per il metodo WorkbookDesigner.process

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
public class SmartMarkerCallBack implements ISmartMarkerCallBack {
Workbook workbook;
SmartMarkerCallBack(Workbook workbook) {
this.workbook = workbook;
}
@Override
public void process(int sheetIndex, int rowIndex, int colIndex, String tableName, String columnName) {
System.out.println("Processing Cell : " + workbook.getWorksheets().get(sheetIndex).getName() + "!"
+ CellsHelper.cellIndexToName(rowIndex, colIndex));
System.out.println("Processing Marker : " + tableName + "." + columnName);
}
}

Per mantenere l’esempio semplice e chiaro, il seguente snippet crea un foglio di lavoro designer vuoto, inserisce uno Smart Marker e lo elabora con la sorgente dati creata dinamicamente.

// 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.getDataDir(GetNotificationsWhileMergingData.class);
// Instantiate a new Workbook designer
WorkbookDesigner report = new WorkbookDesigner();
// Get the first worksheet of the workbook
Worksheet sheet = report.getWorkbook().getWorksheets().get(0);
/*
* Set the Variable Array marker to a cell. You may also place this Smart Marker into a template file manually using Excel
* and then open this file via WorkbookDesigner
*/
sheet.getCells().get("A1").putValue("&=$VariableArray");
// Set the data source for the marker(s)
report.setDataSource("VariableArray", new String[] { "English", "Arabic", "Hindi", "Urdu", "French" });
// Set the CallBack property
report.setCallBack(new SmartMarkerCallBack(report.getWorkbook()));
// Process the markers
report.process(false);
// Save the result
report.getWorkbook().save(dataDir);