Hutool的Excel生成工具学习记录一下
官网链接: https://www.hutool.cn/
- 添加依赖,在项目的pom.xml的dependencies中加入以下内容:
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.6.7</version>
</dependency>
- 添加依赖后就可以使用了
Excel生成-ExcelWriter
看下官网给出的方法有很多,非常好用,记录一下
比poi真的香太多了
短短几行代码就可以导出一个Excel表
我们只需要把需要的数据替换掉rows即可
官网还提供了很多好用的工具,后期继续使用继续学习
官网提供的文档
// 通过工具类创建writer,默认创建xls格式
ExcelWriter writer = ExcelUtil.getWriter();
// 一次性写出内容,使用默认样式,强制输出标题
writer.write(rows, true);
//out为OutputStream,需要写出到的目标流
//response为HttpServletResponse对象
response.setContentType("application/vnd.ms-excel;charset=utf-8");
//test.xls是弹出下载对话框的文件名,不能为中文,中文请自行编码
response.setHeader("Content-Disposition","attachment;filename=test.xls");
ServletOutputStream out=response.getOutputStream();
writer.flush(out, true);
// 关闭writer,释放内存
writer.close();
//此处记得关闭输出Servlet流
IoUtil.close(out);
因map是无序的导致导出的Excel的列不是我们想要的排序,在mybatis中使用我们可以在配置文件中修改:
把
resultType="java.util.Map"
改为
resultType="java.util.LinkedHashMap"
修改后就会发现会导出的Excel列排序跟我们SQL查询的字段排序一致了