Smart-Marker-Daten automatisch in andere Arbeitsblätter einfügen, wenn die Daten zu groß sind
Mögliche Nutzungsszenarien
Manchmal möchten Sie Smart-Marker-Daten automatisch in andere Arbeitsblätter einfügen, wenn sie zu groß sind. Angenommen, Ihre Datenquelle enthält 1500000 Datensätze. Dies sind zu viele Datensätze für ein einzelnes Arbeitsblatt, dann können Sie die restlichen Datensätze auf das nächste Arbeitsblatt verschieben.
Smart-Marker-Daten automatisch in andere Arbeitsblätter einfügen, wenn die Daten zu groß sind
Der folgende Beispielcode hat eine Datenquelle mit 21 Datensätzen. Wir möchten nur 15 Datensätze in einem Arbeitsblatt anzeigen, dann werden die restlichen Datensätze automatisch auf das zweite Arbeitsblatt verschoben. Bitte beachten Sie, dass das zweite Arbeitsblatt auch das gleiche Smart-Marker-Tag haben sollte und Sie anrufen müssenWorkbookDesigner.process (sheetIndex, isPreserved) Methode für beide Blätter. Bitte überprüfen Sie dieMicrosoft Access-Datenbankdatei in diesem Code verwendet sowie dieExcel-Datei ausgebengeneriert durch den Code für eine Referenz.
Beispielcode
// 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"); |