Obtener notificaciones al fusionar datos con Smart Markers

Obtener notificaciones al fusionar datos con marcadores inteligentes

El siguiente fragmento de código demuestra el uso de la interfaz ISmartMarkerCallBack para definir una nueva clase que maneja la devolución de llamada para el método de proceso 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);
}
}

Con el fin de mantener el ejemplo simple y directo, el siguiente fragmento de código crea una hoja de cálculo de diseñador vacía, inserta un Marcador Inteligente y la procesa con la fuente de datos creada dinámicamente.

// 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);