Hutool 超强工具类使用 常用

Hutool参考文档官网:https://www.hutool.cn/docs/#/

POM

<dependency>
    <groupId>cn.hutool</groupId>
    <artifactId>hutool-all</artifactId>
    <version>5.5.9</version>
</dependency>

如果需要设置导出的表格名称 请设置

将来 导出数据的时候 就会直接 将companyName 的列名 叫为 企业名

     @Alias("企业名")
    private String companyName;

导出到本地Excel

首先通过 Mybatis 获取到对象的 List 集合

//获取的对象List即可
List<Object> user;
//将对象填充到数组rows
List<TestBean> rows = CollUtil.newArrayList(user.toArray());

上面的内容就是获取一个对象的集合,你自己mybatis的查询集合 直接用。

// 通过工具类创建writer
ExcelWriter writer = ExcelUtil.getWriter("d:/writeBeanTest.xlsx");
// 合并单元格后的标题行,使用默认标题样式
writer.merge(4, "一班成绩单");
// 一次性写出内容,使用默认样式,强制输出标题
writer.write(rows, true);
// 关闭writer,释放内存
writer.close();

导出到前端下载(.xls格式)

//获取的对象List即可
List<Object> user;
//将对象填充到数组rows
List<TestBean> rows = CollUtil.newArrayList(user.toArray());

上面的内容就是获取一个对象的集合,你自己mybatis的查询集合 直接用。

// 通过工具类创建writer,默认创建xls格式
ExcelWriter writer = ExcelUtil.getWriter();
// 一次性写出内容,使用默认样式,强制输出标题
writer.write(rows, true);

//response为HttpServletResponse对象
response.setContentType("application/vnd.ms-excel;charset=utf-8"); 
//test.xls是弹出下载对话框的文件名,不能为中文,中文请自行编码
response.setHeader("Content-Disposition","attachment;filename=test.xls"); 
//out为OutputStream,需要写出到的目标流
ServletOutputStream out=response.getOutputStream(); 

writer.flush(out, true);
// 关闭writer,释放内存
writer.close();
//此处记得关闭输出Servlet流
IoUtil.close(out);

注意 ExcelUtil.getWriter()默认创建xls格式的Excel,因此写出到客户端也需要自定义文件名为XXX.xls,否则会出现文件损坏的提示。 若想生成xlsx格式,请使用ExcelUtil.getWriter(true)创建。

ExcelWriter writer = ExcelUtil.getWriter(true);
writer.write(rows, true);

response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8"); 
response.setHeader("Content-Disposition","attachment;filename=test.xlsx"); 

writer.flush(out, true);
writer.close();
IoUtil.close(out);
还是那句话,你只看到了大佬轻松解决问题的光鲜,却不记得当初人家死磕Bug的痛苦。

万物皆入轮回,谁也躲不掉!

以上文章,均是我实际体验,写出来的笔记资料,不会出现全文盗用别人文章!烦请各位,支持下原创,请勿直接盗用,有条件的可以开通个会员支持下,谢谢!!!

Java Code Study » Hutool 超强工具类使用 常用

招聘、单纯问问题,都可以联系我

加我QQ 公司缺人,拉我入伙