Автоматическое заполнение данных Smart Marker в другие рабочие листы, если данных слишком много

Возможные сценарии использования

Иногда вам может потребоваться автоматически заполнять данные умного маркера в другие листы, если их слишком много. Предположим, у вашего источника данных 1500000 записей. Это слишком много записей для одного листа, тогда вы можете переместить остальные записи на следующий лист.

Автоматическое заполнение данных умного маркера в другие листы, если данные слишком большие

В нижеприведенном образце кода представлен источник данных, который содержит 21 запись. Мы хотим показать только 15 записей на одном листе, а оставшиеся записи автоматически перейдут на второй лист. Обратите внимание, что у второго листа также должен быть тот же умный маркер, и для обоих листов необходимо вызвать метод WorkbookDesigner.process(sheetIndex, isPreserved). Пожалуйста, проверьте файл базы данных Microsoft Access, используемый в этом коде, а также выходной файл Excel, сгенерированный кодом для справки.

Образец кода

// For complete examples and data files, please go to https://github.com/aspose-cells/Aspose.Cells-for-Java
// Create Connection object - connect to Microsoft Access Students Database
java.sql.Connection conn = java.sql.DriverManager.getConnection("jdbc:ucanaccess://" + srcDir + "sampleAutoPopulateSmartMarkerDataToOtherWorksheets.accdb");
// Create SQL Statement with Connection object
java.sql.Statement st = conn.createStatement();
// Execute SQL Query and obtain ResultSet
java.sql.ResultSet rsEmployees = st.executeQuery("SELECT * FROM Employees");
//Create empty workbook
Workbook wb = new Workbook();
//Access first worksheet and add smart marker in cell A1
Worksheet ws = wb.getWorksheets().get(0);
ws.getCells().get("A1").putValue("&=Employees.EmployeeID");
//Add second worksheet and add smart marker in cell A1
wb.getWorksheets().add();
ws = wb.getWorksheets().get(1);
ws.getCells().get("A1").putValue("&=Employees.EmployeeID");
//Create workbook designer
WorkbookDesigner wd = new WorkbookDesigner(wb);
//Set data source with result set
wd.setDataSource("Employees", rsEmployees, 15);
//Process smart marker tags in first and second worksheet
wd.process(0, false);
wd.process(1, false);
//Save the workbook
wb.save("outputAutoPopulateSmartMarkerDataToOtherWorksheets.xlsx");