以下是一个示例代码,演示了如何从数据库中查询数据,然后将数据写入到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.XSSFWorkbook;
public class DatabaseToExcel {
public static void main(String[] args) {
String jdbcUrl = "jdbc:mysql://localhost:3306/mydatabase";
String username = "root";
String password = "password";
try {
// 建立数据库连接
Connection conn = DriverManager.getConnection(jdbcUrl, username, password);
// 创建SQL语句
String sql = "SELECT * FROM mytable";
// 创建查询语句
Statement statement = conn.createStatement();
// 执行查询语句
ResultSet resultSet = statement.executeQuery(sql);
// 创建Excel工作簿
XSSFWorkbook workbook = new XSSFWorkbook();
// 创建Excel工作表
org.apache.poi.ss.usermodel.Sheet sheet = workbook.createSheet("Data");
// 创建标题行
Row headerRow = sheet.createRow(0);
headerRow.createCell(0).setCellValue("ID");
headerRow.createCell(1).setCellValue("Name");
headerRow.createCell(2).setCellValue("Age");
// 获取查询结果并写入Excel
int rowNum = 1;
while (resultSet.next()) {
// 获取数据库字段值
int id = resultSet.getInt("id");
String name = resultSet.getString("name");
int age = resultSet.getInt("age");
// 创建行
Row row = sheet.createRow(rowNum++);
// 创建单元格,并写入数据
Cell cell1 = row.createCell(0);
cell1.setCellValue(id);
Cell cell2 = row.createCell(1);
cell2.setCellValue(name);
Cell cell3 = row.createCell(2);
cell3.setCellValue(age);
}
// 保存Excel文件
FileOutputStream outputStream = new FileOutputStream("data.xlsx");
workbook.write(outputStream);
workbook.close();
// 关闭连接
conn.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
请注意,上述代码需要将jdbcUrl
,username
和password
更改为您的数据库连接信息,并确保正确加载数据库驱动程序。此外,还需要包含Apache POI库以处理Excel文件。