hutool文档地址:https://www.hutool.cn/docs/#/

导入依赖

	<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.8.0.M2</version>
</dependency> <dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>5.0.0</version>
</dependency> <dependency>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
<version>2.12.2</version>
</dependency>

测试例子(写入excel文件):

@SpringBootTest
class Demo1ApplicationTests {
@Autowired
private UserMapper userMapper; @Test
void contextLoads() {
List<SysUser> users = userMapper.getUsers(); // 通过工具创建writer对象
// ExcelWriter writer = ExcelUtil.getWriter();
// 通过构造方法创建对象
ExcelWriter writer = new ExcelWriter("D:\\test.xls");
// 跳过第一行
writer.passCurrentRow();
// 合并单元格作标题行
writer.merge(3,“测试标题”);
// 一次性写出内容
writer.write(users, true);
// 关闭writer
writer.close();
}
}

官网例子:https://www.hutool.cn/docs/#/poi/Excel生成-ExcelWriter?id=使用例子

导出到客户端下载

    @GetMapping("/export")
public String exportExcel(HttpServletResponse response) throws IOException {
List<SysUser> users = userService.getUsers(); // 通过工具类创建writer,默认创建xls格式,若想生成xlsx格式,请使用ExcelUtil.getWriter(true)创建
//ExcelWriter writer = ExcelUtil.getWriter();
ExcelWriter writer = ExcelUtil.getWriter(true);
// 一次性写出内容,使用默认样式,强制输出标题
writer.write(users, true); //response为HttpServletResponse对象
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8");
//test.xlsx是弹出下载对话框的文件名,不能为中文,中文请自行编码
response.setHeader("Content-Disposition","attachment;filename=test.xlsx");
ServletOutputStream out=response.getOutputStream(); writer.flush(out, true);
// 关闭writer,释放内存
writer.close();
//此处记得关闭输出Servlet流
IoUtil.close(out);
return "export";
}

最新文章

  1. Delphi 控件大全
  2. 纯css3实现旋转的太极图
  3. 解决每次打开office 2010显示正在配置的问题
  4. Git教程之创建版本库(2)
  5. android 应用页面与数据申请逻辑剥离;
  6. Android EditText的使用及值得注意的地方
  7. Tomcat 学习笔记二
  8. Opengl4.5 中文手册—E
  9. 关于python使用threadpool中的函数单个参数和多个参数用法举例
  10. 5分钟学会使用gitlab
  11. SpringMVC学习笔记三 整合jdbc和事务
  12. idea 排除编译 参考
  13. Python 实现 动态规划 /斐波那契数列
  14. HMM拓扑与转移模型
  15. vue 中样式的绑定
  16. Spring RPC 入门学习(1)-HelloWorld入门
  17. 参数在一个线程中各个函数之间互相传递的问题(ThreadLocal)
  18. Linux学习之ACL权限详解(十)
  19. Windows7安装两个jdk配置
  20. pytest.4.Fixture

热门文章

  1. KingbaseES 自增列三种方式
  2. QT学习(三)
  3. ACVF of ARMA(1, 1)
  4. Vue3 封装 Element Plus Menu 无限级菜单组件
  5. Memlab,一款分析 JavaScript 堆并查找浏览器和 Node.js 中内存泄漏的开源框架
  6. MySQL DDL执行方式-Online DDL介绍
  7. MySQL主从同步报错故障处理记录
  8. 路径参数和数值校验: Path_Parameters_and_Numeric_Validations
  9. 解决Nginx+Tomcat中https转http请求问题---解决js加载使用http的问题
  10. NSIS限制程序运行次数和使用日期