赞
踩
EasyExcel是一个基于Java的、快速、简洁、解决大文件内存溢出的Excel处理工具。它能让你在不用考虑性能、内存的等因素的情况下,快速完成Excel的读、写等功能。
在EasyExcel的示例里面都是使用实体写入Excel的,没有使用List<List<String>>写入的。
这里是利用EasyExcel 3 生成数据流直接给前端导出使用,对于需要生成Excel的,直接把数据流写入excel文件即可。
-
- /**
- * 导出excel,生成byte数组
- *
- * @param list 数据 list
- * @param sheetName 导入文件的 sheet 名
- */
- public static byte[] exportExcel(List<List<String>> list, String sheetName) {
- ByteArrayOutputStream out = new ByteArrayOutputStream();
- try (ExcelWriter excelWriter = EasyExcelFactory.write(out).build()) {
- // 这里注意 如果同一个sheet只要创建一次
- WriteSheet writeSheet = EasyExcelFactory.writerSheet(sheetName).build();
- // 先写头,后写数据
- //excelWriter.write(header, writeSheet);
- excelWriter.write(list, writeSheet);
- //关键:否则无数据写入,写完成,缓冲区数据写入out;
- excelWriter.finish();
- log.debug("out.size():{}", out.size());
- return out.toByteArray();
- } finally {
- try {
- out.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
对于实体写入Excel的,这里也对应一段代码,
同样,对于需要生成Excel的,直接把数据流写入excel文件即可。
-
- /**
- * 导出excel,生成byte数组
- *
- * @param cla 要转换的Object对应Class类
- * @param list 数据 list
- * @param header 表头
- * @param sheetName 导入文件的 sheet 名
- */
- public static byte[] exportExcel(Class<?> cla, List<Object> list, List<Object> header, String sheetName) {
- ByteArrayOutputStream out = new ByteArrayOutputStream();
- // 这里 需要指定写用哪个class去写
- ExcelWriter excelWriter = EasyExcelFactory.write(out, cla).build();
- // 这里注意 如果同一个sheet只要创建一次
- WriteSheet writeSheet = EasyExcelFactory.writerSheet(sheetName).build();
- // 先写头,后写数据
- excelWriter.write(header, writeSheet);
- excelWriter.write(list, writeSheet);
- //关键:否则无数据写入,写完成,缓冲区数据写入out;
- excelWriter.finish();
- byte[] bytes = out.toByteArray();
- try {
- out.close();
- } catch (IOException e) {
- }
- return bytes;
- }
![](https://csdnimg.cn/release/blogv2/dist/pc/img/newCodeMoreWhite.png)
项目需要引入依赖类:
- <dependency>
- <groupId>com.alibaba</groupId>
- <artifactId>easyexcel</artifactId>
- <version>3.3.3</version>
- </dependency>
希望对大家有帮助。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。