将数据库中的数据表导出Excel
程序员文章站
2024-03-21 08:27:58
...
将数据库中的数据表导出Excel
代码:
package com.XXX.controller;
import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.sql.*;
/**
* @author XXXX
* @date XXXX/XX/XX
*/
public class MySQLDownLoadExcel {
/**
* 将数据库中的数据表写入Excel表格
*/
public static void main(String[] args) {
String dname = "command_document";//数据库名称
String tname = "command_list";//要导出的表名
String path = "C:/Users/dell/Desktop/"+tname+".xls";//导出位置
HSSFWorkbook book = new HSSFWorkbook();//创建一个Excel文件
HSSFSheet sheet = book.createSheet("表");
try {
//连接数据库
Class.forName("com.mysql.cj.jdbc.Driver");
Connection connection;
connection = DriverManager.getConnection("jdbc:mysql://localhost:3306/"+dname+"?useUnicode=true&characterEncoding=utf-8","root","root");
Statement statement = connection.createStatement();
//写查询的sql语句,查出想要导出的表内容
String sql = "select * from "+tname;
//执行sql
ResultSet rs = statement.executeQuery(sql);
ResultSetMetaData rsmd = rs.getMetaData(); //得到结果集的字段名
int a = rsmd.getColumnCount();//得到数据表的结果集的字段的数量
//生成表单的第一行,即表头
HSSFRow row0 = sheet.createRow(0);//创建第一行
for (int i = 0; i < a; i++) {
HSSFCell cell = row0.createCell(i);//创建第一行的第i列
cell.setCellValue(rsmd.getColumnName(i+1));
}
//将数据表中的数据按行导入进Excel表中
int r = 1;
while(rs.next()){
HSSFRow row = sheet.createRow(r++);//创建非第一行的其他行
for (int i = 0; i < c; i++) {//仍然是c列,导入第r行的第i列
HSSFCell cel = row.createCell(i);
cel.setCellValue(rs.getString(i+1));
}
}
//用文件输出流创建表格
try {
FileOutputStream outputStream = new FileOutputStream(path);
try {
book.write(outputStream);
} catch (IOException e) {
e.printStackTrace();
}
try {
book.close();
} catch (IOException e) {
e.printStackTrace();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
}catch (SQLException throwables) {
throwables.printStackTrace();
}
}
}
上一篇: isql 实用工具
推荐阅读
-
将数据库中的数据表导出Excel
-
用exp导出oracle数据库中没有记录的空表
-
前端将el-table中的数据导出成excel文件
-
java 将查询的数据导出成excel文件
-
springboot框架中-java实现Excel、csv、txt 文件的批量导出数据-亲手实测(二)-csv & txt
-
web中使用阿里巴巴的EasyExcel导出数据库中的数据
-
SQL使用技巧-两个表比对数据(Excel表中存在而数据库表中不存在的数据)
-
Qt使用第三方库Qtxlsx将数据库的表格导出为Excel
-
如何将数据库中存的树转化为树形列表(以easyui的tree为例)
-
asp.net中gridview导出excel方法以及怎样修改导出的日期格式