最近在项目开发中有个需求:
将之前旧的配置转换为excel文件,再上传至云存储,获取该链接并支持下载。
工具:
- Hutool
步骤:
- 先处理好需要转换的列表
- 定义
FileItem
- 从该item 获取输出流(
OutputStream
)。通过hutool工具将列表写入item的输出流。 - 初始化
CommonsMultipartFile
的fileItem
属性,设置该item - 完成
List
转MultipartFile
代码实现如下:
private String uploadFile(String fileName, List<DataDto> list) {
DiskFileItemFactory diskFileItemFactory = new DiskFileItemFactory(16, null);
FileItem item = diskFileItemFactory.createItem(
fileName,
"application/octet-stream;charset=utf-8",
true,
fileName);
OutputStream outputStream = item.getOutputStream();
ExcelWriter writer = ExcelUtil.getWriter();
writer.write(list, true);
writer.flush(outputStream);
MultipartFile multipartFile = new CommonsMultipartFile(item);
//上传文件
}
ExcelUtil
使用的是 Hutool 提供的excel工具类