前言
最近做了一个导入导出的功能,我相信很多小伙伴在项目中也遇到过。一想到excel的导入导出,肯定第一时间就想到EasyExcel,但是我一打开发现所有的例子都离不开”文件路径“。
这就让我很头痛了,我就单单是一个简单的导出模板和导入数据功能,难道我还得把模板先上传服务器,然后每次导入时也得把文件上传到服务器吗?这得多大的服务器才够用啊?
正文
其实,阿里的EasyExcel是有提供流处理的,这样的话,我们就可以每一次调用时去生成流,完了就把流关闭就好了。接下来,看看源码:
/**
* Build excel the write
*
* @param outputStream
* Output stream to write
* @param head
* Annotate the class for configuration information.
* @return Excel writer builder
*/
public static ExcelWriterBuilder write(OutputStream outputStream, Class head) {
ExcelWriterBuilder excelWriterBuilder = new ExcelWriterBuilder();
excelWriterBuilder.file(outputStream);
if (head != null) {
excelWriterBuilder.head(head);
}
return excelWriterBuilder;
}
然后,再看看官网文档:
有了这两个的支持,我们就可以大胆的去写我们的导入导出了。
上才艺
效果图:
这里我就话不多说了,直接上代码
导出代码:
@GetMapping(value = "/getDemo")
@ApiOperation(value = "下载模板", notes = "下载模板")
public void getDemo(HttpServletResponse response) {
try {
String fileName = "导入模板";
String sheetName = "模板";
response.setContentType