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