帮我写一个查询数据库与excel对应的Java代码
时间: 2023-09-03 13:28:24 浏览: 150
java 将数据库中的数据导出到excel
5星 · 资源好评率100%
### 回答1:
当然,我很愿意为您写一段查询数据库并将结果写入Excel的Java代码。
首先,您需要安装JDBC驱动,以便连接数据库。然后,您需要导入Apache POI库,该库提供了写入Excel文件所需的工具。
以下是一段示例代码:
```
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 DatabaseToExcel {
public static void main(String[] args) {
try {
// 连接数据库
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/database_name", "username", "password");
Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM table_name");
// 创建工作簿
XSSFWorkbook workbook = new XSSFWorkbook();
XSSFSheet sheet = workbook.createSheet("数据");
// 写入数据
int rowNum = 0;
while (rs.next()) {
Row row = sheet.createRow(rowNum++);
int colNum = 0;
Cell cell = row.createCell(colNum++);
cell.setCellValue(rs.getString("column1"));
cell = row.createCell(colNum++);
cell.setCellValue(rs.getInt("column2"));
// 继续写入其他列的数据
}
// 保存Excel文件
try (FileOutputStream outputStream = new FileOutputStream("数据.xlsx")) {
workbook.write(outputStream);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
请注意,此代码仅作为参考。您需要根据自己的数据库配置(例如数
### 回答2:
下面是一个简单的示例代码,用于查询数据库并将结果写入Excel文件中。
```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.XSSFWorkbook;
public class DatabaseToExcel {
public static void main(String[] args) {
String url = "jdbc:mysql://localhost:3306/database_name"; // 数据库连接URL
String username = "username"; // 数据库用户名
String password = "password"; // 数据库密码
String excelFilePath = "output.xlsx"; // 生成的Excel文件路径
try (Connection conn = DriverManager.getConnection(url, username, password);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM table_name")) {
XSSFWorkbook workbook = new XSSFWorkbook();
org.apache.poi.ss.usermodel.Sheet sheet = workbook.createSheet("Sheet1");
int rowNo = 0;
while (rs.next()) {
Row row = sheet.createRow(rowNo++);
int colNo = 0;
while (colNo < rs.getMetaData().getColumnCount()) {
Cell cell = row.createCell(colNo);
cell.setCellValue(rs.getString(colNo + 1));
colNo++;
}
}
try (FileOutputStream outputStream = new FileOutputStream(excelFilePath)) {
workbook.write(outputStream);
}
System.out.println("查询结果已写入Excel文件!");
} catch (SQLException | IOException e) {
e.printStackTrace();
}
}
}
```
使用该代码前,请确保已经导入了Apache POI的库,以便操作Excel文件。另外,请替换代码中的数据库连接URL、用户名、密码、查询语句和输出Excel文件路径为你自己的实际信息。
### 回答3:
在Java中查询数据库与Excel对应的代码主要涉及以下几个步骤:
1. 导入相关库:在代码的开头需要导入相关的库,以便使用数据库和Excel相关的类和方法。
2. 连接数据库:使用JDBC (Java Database Connectivity)连接数据库。首先需要加载数据库驱动程序,然后根据数据库的连接信息创建数据库连接对象。
3. 查询数据库:使用SQL语句进行数据库查询操作。可以使用Statement、PreparedStatement或CallableStatement等类执行SQL查询操作,并获取查询结果。
4. 将查询结果写入Excel:使用Apache POI或其他相关库将查询结果写入Excel。首先创建一个Excel工作簿对象,然后根据查询结果创建工作表并填入数据。
5. 关闭数据库连接:在查询结束后,需要关闭数据库连接以释放资源和断开与数据库的连接。
下面是一个简单的示例代码,该代码使用JDBC连接MySQL数据库,并查询表中的数据将结果导出到Excel文件。
```java
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.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
public class DatabaseToExcel {
public static void main(String[] args) {
String jdbcUrl = "jdbc:mysql://localhost:3306/database";
String username = "root";
String password = "password";
String sql = "SELECT * FROM table";
try (Connection conn = DriverManager.getConnection(jdbcUrl, username, password);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery(sql)) {
Workbook workbook = new XSSFWorkbook();
Sheet sheet = workbook.createSheet("Sheet1");
int rowNum = 0;
while (rs.next()) {
Row row = sheet.createRow(rowNum++);
for (int i = 1; i <= rs.getMetaData().getColumnCount(); i++) {
Cell cell = row.createCell(i - 1);
cell.setCellValue(rs.getString(i));
}
}
// 保存Excel文件
try (FileOutputStream outputStream = new FileOutputStream("output.xlsx")) {
workbook.write(outputStream);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
以上代码仅是一个简单的示例,实际使用时需要根据具体的数据库和Excel的操作进行适当的调整和优化。
阅读全文