如果数据过大,自动将 Smart Marker 数据填充到其他工作表
Contents
[
Hide
]
可能的使用场景
有时,如果数据太大,您希望自动将智能标记数据填充到其他工作表。假设您的数据源有 1500000 条记录。这对于单个工作表来说是太多的记录,那么您可以将其余记录移至下一个工作表。
如果数据太大,可以将智能标记数据自动填充到其他工作表
以下示例代码有一个包含21条记录的数据源。我们想在一个工作表中只展示15条记录,剩下的记录将自动移动到第二个工作表。请注意,第二个工作表也应具有相同的智能标记标签,并且您必须为两个工作表都调用WorkbookDesigner.process(sheetIndex, isPreserved)方法。请参考本代码中使用的Microsoft Access数据库文件 以及由代码生成的输出Excel文件。
示例代码
This file contains 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 | |
// 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"); |