Java导出数据库中Excel表格数据的方法
在Java中,我们可以使用Apache POI库来导出数据库中的Excel表格数据。本文将提供详细的“Java导出数据库中Excel表格数据的方法”的完整攻略,包括如何使用Apache POI库来导出Excel表格数据,以及示例代码。
使用Apache POI库导出Excel表格数据
使用Apache POI库导出Excel表格数据需要以下步骤:
- 添加Apache POI库的依赖:可以在Maven中添加以下依赖:
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>4.1.2</version>
</dependency>
-
连接数据库:使用JDBC连接数据库。
-
查询数据:使用JDBC查询数据库中的数据。
-
创建Excel工作簿:使用Apache POI创建Excel工作簿。
-
创建Excel表格:使用Apache POI创建Excel表格。
-
将数据写入Excel表格:使用Apache POI将查询到的数据写入Excel表格。
-
保存Excel文件:使用Apache POI将Excel文件保存到本地磁盘。
示例一:导出单个表格数据
以下是导出单个表格数据的示例代码:
import java.io.FileOutputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class ExportExcel {
public static void main(String[] args) {
String jdbcUrl = "jdbc:mysql://localhost:3306/mydatabase";
String username = "root";
String password = "password";
String query = "SELECT * FROM mytable";
String filename = "mytable.xlsx";
try (Connection conn = DriverManager.getConnection(jdbcUrl, username, password);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(query);
FileOutputStream fos = new FileOutputStream(filename)) {
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet sheet = workbook.createSheet("mytable");
int rowNum = 0;
while (rs.next()) {
Row row = sheet.createRow(rowNum++);
int colNum = 0;
for (int i = 1; i <= rs.getMetaData().getColumnCount(); i++) {
Cell cell = row.createCell(colNum++);
cell.setCellValue(rs.getString(i));
}
}
workbook.write(fos);
System.out.println("Excel file created successfully!");
} catch (Exception e) {
e.printStackTrace();
}
}
}
在上面的示例代码中,我们使用JDBC连接数据库,并使用Apache POI创建Excel工作簿和表格。然后,我们将查询到的数据写入Excel表格,并将Excel文件保存到本地磁盘。
示例二:导出多个表格数据
以下是导出多个表格数据的示例代码:
import java.io.FileOutputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class ExportExcel {
public static void main(String[] args) {
String jdbcUrl = "jdbc:mysql://localhost:3306/mydatabase";
String username = "root";
String password = "password";
String[] queries = {"SELECT * FROM mytable1", "SELECT * FROM mytable2"};
String[] filenames = {"mytable1.xlsx", "mytable2.xlsx"};
try (Connection conn = DriverManager.getConnection(jdbcUrl, username, password)) {
for (int i = 0; i < queries.length; i++) {
try (Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(queries[i]);
FileOutputStream fos = new FileOutputStream(filenames[i])) {
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet sheet = workbook.createSheet("mytable");
int rowNum = 0;
while (rs.next()) {
Row row = sheet.createRow(rowNum++);
int colNum = 0;
for (int j = 1; j <= rs.getMetaData().getColumnCount(); j++) {
Cell cell = row.createCell(colNum++);
cell.setCellValue(rs.getString(j));
}
}
workbook.write(fos);
System.out.println("Excel file created successfully!");
} catch (Exception e) {
e.printStackTrace();
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
在上面的示例代码中,我们使用JDBC连接数据库,并使用Apache POI创建Excel工作簿和表格。然后,我们将查询到的数据写入Excel表格,并将Excel文件保存到本地磁盘。我们使用一个循环来导出多个表格数据。
总结
综所述,“Java导出数据库中Excel表格数据的方法”的完整攻略包括如何使用Apache POI库来导出Excel表格数据,以及示例代码。可以使用示例代码更好地理解如何使用Apache POI库来导出单个表格数据和多个表格数据。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java导出数据库中Excel表格数据的方法 - Python技术站