java连接数据库后到处数据到excel文件中
时间: 2023-06-25 15:02:08 浏览: 65
要将数据库中的数据导出到Excel文件中,可以使用Java中的Apache POI库来实现。以下是一个例子:
```java
import java.io.FileOutputStream;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
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 ExportToExcel {
public static void main(String[] args) {
String jdbcUrl = "jdbc:mysql://localhost:3306/testdb?useSSL=false";
String username = "root";
String password = "password";
String query = "SELECT * FROM users";
try (Connection conn = DriverManager.getConnection(jdbcUrl, username, password);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(query)) {
// 创建工作簿和工作表
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet sheet = workbook.createSheet("Users");
// 创建表头
Row headerRow = sheet.createRow(0);
String[] columns = {"ID", "Name", "Email", "Phone"};
for (int i = 0; i < columns.length; i++) {
Cell cell = headerRow.createCell(i);
cell.setCellValue(columns[i]);
}
// 填充数据
int rowNum = 1;
while (rs.next()) {
Row row = sheet.createRow(rowNum++);
row.createCell(0).setCellValue(rs.getInt("id"));
row.createCell(1).setCellValue(rs.getString("name"));
row.createCell(2).setCellValue(rs.getString("email"));
row.createCell(3).setCellValue(rs.getString("phone"));
}
// 将工作簿写入文件
FileOutputStream outputStream = new FileOutputStream("users.xlsx");
workbook.write(outputStream);
workbook.close();
} catch (SQLException | IOException e) {
e.printStackTrace();
}
}
}
```
在上面的代码中,我们首先连接到数据库,然后创建一个工作簿和工作表。接下来,我们创建表头并填充数据。最后,我们将工作簿写入文件。
请注意,此代码使用了XSSF工作簿,这意味着生成的Excel文件是基于XML的,并且只能在Excel 2007及更高版本中打开。如果您需要支持早期版本的Excel,可以使用HSSF工作簿代替。