EasyExcel.write().build()如何变成字节流
时间: 2023-08-19 11:16:38 浏览: 129
alibaba_easyexcel.rar
要将 EasyExcel 生成的 Excel 文件转换为字节流,可以使用 ByteArrayOutputStream 和 EasyExcel.write().withTemplate().sheet().doWrite() 方法。首先使用 EasyExcel.write().withTemplate().sheet().doWrite() 方法将数据写入 Excel,然后将生成的 Excel 文件读入 ByteArrayOutputStream 中,最后将 ByteArrayOutputStream 转换为字节数组。
以下是示例代码:
```java
// 准备数据
List<User> userList = new ArrayList<>();
userList.add(new User("张三", 20));
userList.add(new User("李四", 21));
userList.add(new User("王五", 22));
// 创建 ExcelWriter
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ExcelWriter excelWriter = EasyExcel.write(bos, User.class).withTemplate("template.xlsx").build();
WriteSheet writeSheet = EasyExcel.writerSheet().build();
// 写入数据到 Excel
excelWriter.write(userList, writeSheet);
excelWriter.finish();
// 将 ByteArrayOutputStream 转换为字节数组
byte[] data = bos.toByteArray();
// 关闭流
bos.close();
// 使用字节数组进行操作,例如写入磁盘文件或发送网络请求等
```
这段代码将数据写入 Excel 模板文件中,然后将生成的 Excel 文件读入 ByteArrayOutputStream 中,最后将 ByteArrayOutputStream 转换为字节数组。你可以使用字节数组进行操作,例如写入磁盘文件或发送网络请求等。
阅读全文