Auto Populate Smart Marker Data to Other Worksheets if Data is too Large

Possible Usage Scenarios

Sometimes, you want to auto-populate smart marker data to other worksheets if it is too large. Suppose, your data source has 1500000 records. These are too many records for a single worksheet, then you can move the rest of the records to next worksheet.

Auto Populate Smart Marker Data to Other Worksheets if Data is too Large

The following sample code has a data source which has 21 records. We want to show only 15 records in one worksheet, then the rest of the records will automatically move to the second worksheet. Please note, the second worksheet should also have the same smart marker tag and you must call WorkbookDesigner.process(sheetIndex, isPreserved) method for both sheets. Please check the Microsoft Access Database file used in this code as well as the output Excel file generated by the code for a reference.

Sample Code

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