从Microsoft Access数据库ResultSet对象导入数据到工作表

可能的使用场景

Aspose.Cells可以从ResultSet对象导入数据到工作表,该对象可以从任何数据库创建。然而,该文章特别从Microsoft Access数据库创建了一个ResultSet对象。由于代码适用于所有类型的数据库,因此您可以通用使用。

UCanAccess - 连接到Microsoft Access数据库所需

请下载UCanAccess。其中包括以下JAR文件。将它们全部添加到类路径中。

  • ucanaccess-4.0.1.jar
  • commons-lang-2.6.jar
  • commons-logging-1.1.1.jar
  • hsqldb.jar
  • jackcess-2.1.6.jar

如需更多帮助,请访问此Stack Overflow链接。

用于标本代码中的Sample Microsoft Access 2016数据库文件

下面的示例Microsoft Access 2016数据库文件在示例代码中使用。您可以使用任何数据库文件或创建您自己的。

下面的截图显示了在Microsoft Access 2016中打开的数据库文件。

todo:image_alt_text

从Microsoft Access数据库ResultSet对象导入数据到工作表。

以下示例代码从Microsoft Access数据库执行SQL查询,并创建ResultSet对象。然后,它使用Worksheet.getCells().importResultSet()方法将数据从ResultSet导入到工作表中。第一次使用行和列索引导入,之后使用单元格名称导入数据。最后,将工作簿保存为输出Excel文件。截图显示了示例代码对输出Excel文件的效果,供参考。

todo:image_alt_text

示例代码

// 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 + "Students.accdb");
// Create SQL Statement with Connection object
java.sql.Statement st = conn.createStatement();
// Execute SQL Query and obtain ResultSet
java.sql.ResultSet rs = st.executeQuery("SELECT * FROM Student");
// Create workbook object
Workbook wb = new Workbook();
// Access first worksheet
Worksheet ws = wb.getWorksheets().get(0);
// Access cells collection
Cells cells = ws.getCells();
// Create import table options
ImportTableOptions options = new ImportTableOptions();
// Import Result Set at (row=2, column=2)
cells.importResultSet(rs, 2, 2, options);
// Execute SQL Query and obtain ResultSet again
rs = st.executeQuery("SELECT * FROM Student");
// Import Result Set at cell G10
cells.importResultSet(rs, "G10", options);
// Autofit columns
ws.autoFitColumns();
// Save the workbook
wb.save(outDir + "outputImportResultSet.xlsx");