使用Java语言实现将数据库中的表和数据读写到execl表格中
时间: 2024-09-30 18:14:32 浏览: 59
在Java中,我们可以使用Apache POI库来实现从数据库(如MySQL、Oracle等)读取数据并写入Excel文件的功能。以下是一个简化的步骤概述:
1. **添加依赖**:
首先,需要在项目中引入Apache POI的相关组件,包括`poi`, `poi-ooxml`, 和 `sqljdbc` (用于JDBC操作数据库)。
```java
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>latest version</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>latest version</version>
</dependency>
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>latest version</version>
</dependency>
```
2. **数据库连接**:
使用JDBC连接数据库,获取查询结果集(ResultSet)。
```java
String url = "jdbc:sqlserver://localhost:1433;databaseName=your_database";
String user = "your_username";
String password = "your_password";
Connection connection = DriverManager.getConnection(url, user, password);
Statement statement = connection.createStatement();
String sql = "SELECT * FROM your_table";
ResultSet resultSet = statement.executeQuery(sql);
```
3. **创建Excel工作簿**:
使用`HSSFWorkbook`或`XSSFWorkbook`(对于xlsx格式)创建一个新的Excel工作簿,并选择一个工作表。
```java
Workbook workbook;
if (/* 根据需求选择HSSF或XSSF */) {
workbook = new HSSFWorkbook();
} else {
workbook = new XSSFWorkbook();
}
Sheet sheet = workbook.createSheet("Your Sheet Name");
Row headerRow = sheet.createRow(0); // 创建表头行
headerRow.createCell(0).setCellValue("Column1");
// 添加其他列...
```
4. **处理数据**:
遍历数据库的结果集,将每一行的数据写入Excel表格。
```java
while (resultSet.next()) {
Row dataRow = sheet.createRow(resultSet.getRowNum() + 1);
for (int i = 1; i <= resultSet.getMetaData().getColumnCount(); i++) {
dataRow.createCell(i - 1).setCellValue(resultSet.getObject(i));
}
}
```
5. **保存Excel文件**:
最后关闭连接、工作簿以及相关的资源,并将文件写入磁盘。
```java
workbook.write(new File("output.xlsx"));
workbook.close();
connection.close();
```
阅读全文
相关推荐
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![doc](https://img-home.csdnimg.cn/images/20241231044833.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)