SpringBoot+hutool工具-数据库数据导出Excel
2024-10-20 11:48:42
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";
}
最新文章
- Delphi 控件大全
- 纯css3实现旋转的太极图
- 解决每次打开office 2010显示正在配置的问题
- Git教程之创建版本库(2)
- android 应用页面与数据申请逻辑剥离;
- Android EditText的使用及值得注意的地方
- Tomcat 学习笔记二
- Opengl4.5 中文手册—E
- 关于python使用threadpool中的函数单个参数和多个参数用法举例
- 5分钟学会使用gitlab
- SpringMVC学习笔记三 整合jdbc和事务
- idea 排除编译 参考
- Python 实现 动态规划 /斐波那契数列
- HMM拓扑与转移模型
- vue 中样式的绑定
- Spring RPC 入门学习(1)-HelloWorld入门
- 参数在一个线程中各个函数之间互相传递的问题(ThreadLocal)
- Linux学习之ACL权限详解(十)
- Windows7安装两个jdk配置
- pytest.4.Fixture
热门文章
- KingbaseES 自增列三种方式
- QT学习(三)
- ACVF of ARMA(1, 1)
- Vue3 封装 Element Plus Menu 无限级菜单组件
- Memlab,一款分析 JavaScript 堆并查找浏览器和 Node.js 中内存泄漏的开源框架
- MySQL DDL执行方式-Online DDL介绍
- MySQL主从同步报错故障处理记录
- 路径参数和数值校验: Path_Parameters_and_Numeric_Validations
- 解决Nginx+Tomcat中https转http请求问题---解决js加载使用http的问题
- NSIS限制程序运行次数和使用日期