java 读取数据库数据并写出到Excel表中。
发布时间
阅读量:
阅读量
1.先导入依赖
<!-- EasyExcel是阿里巴巴开源的一个excel处理框架,以使用简单,节省内存著称,今天我们来使用阿里巴巴开源的EasyExcel框架来实现Excel的导入导出功能。 -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>easyexcel</artifactId>
<version>2.2.4</version>
</dependency>
2.根据数据库表中的字段创建实体类。
package com.wf.dbutils;
import com.alibaba.excel.annotation.ExcelProperty;
public class users {
@ExcelProperty("header1")
private String id;
@ExcelProperty("header2")
private String loginname;
@ExcelProperty("header3")
private String loginpass;
@Override
public String toString() {
return "users [id=" + id + ", loginname=" + loginname + ", loginpass=" + loginpass + "]";
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getLoginname() {
return loginname;
}
public void setLoginname(String loginname) {
this.loginname = loginname;
}
public String getLoginpass() {
return loginpass;
}
public void setLoginpass(String loginpass) {
this.loginpass = loginpass;
}
}
3.从数据库中读取出数据,并写入到Excel中。
package com.wf.dbutils;
import java.io.IOException;
import java.sql.SQLException;
import java.util.List;
import org.apache.commons.dbutils.QueryRunner;
import org.apache.commons.dbutils.handlers.BeanHandler;
import org.apache.commons.dbutils.handlers.BeanListHandler;
import com.alibaba.excel.EasyExcel;
import com.wf.dbtest.User;
import com.wf.dbtestpool.JDBCUtils;
public class DBUtils {
public static void main(String[] args) {
// List<?> list = queryDB();
// for (Object object : list) {
// System.out.println(object);
// }
String fileName = "D:/a/b.xlsx";
EasyExcel.write(fileName,users.class).sheet("表格1").doWrite(queryDB());
}
/** * 获取数据库中表的数据
* * @return
*/
private static List<?> queryDB() {
QueryRunner runner = new QueryRunner(JDBCUtils.getSource());
String sql = "select * from t_user_test";
List list = null;
try {
list = runner.query(sql, new BeanListHandler(User.class));
// System.out.println(list);
// for (Object object : list) {
// System.out.println(list);
// }
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return list;
}
}
全部评论 (0)
还没有任何评论哟~
