Получение уведомлений при объединении данных со смарт-маркерами
Contents
[
Hide
]
Aspose.Cells API предоставляютWorkbookDesigner класс дляработа со смарт маркерами где форматирование и формулы помещаются вдизайнерские таблицы а затем обрабатываются с помощьюWorkbookDesigner класс для заполнения данных в соответствии с указанными смарт-маркерами. Иногда может потребоваться получать уведомления о ссылке на ячейку или конкретном обрабатываемом смарт-маркере. Это может быть достигнуто с помощьюWorkbookDesigner.CallBack имущество иISmartMarkerCallBackинтерфейс выставлен с выпуском Aspose.Cells for Java 8.6.2.
Получайте уведомления при объединении данных со смарт-маркерами
Следующий фрагмент кода демонстрирует использованиеISmartMarkerCallBackинтерфейс для определения нового класса, который обрабатывает обратный вызов дляWorkbookDesigner.процесс метод.
This file contains hidden or 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 | |
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); | |
} | |
} |
Чтобы сделать пример простым и точным, в следующем фрагменте создается пустая электронная таблица дизайнера, вставляется смарт-маркер и обрабатывается с помощью динамически созданного источника данных.
This file contains hidden or 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.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); |