excel快速导入导出,动态依据条件导出

我要开发同款
欧巴小球2024年02月29日
67阅读
开发技术java
所属分类文件excel

作品详情

导出功能
1.1 EasyExcelUtil.writeToExcel(List sheetList, OutputStream outputStream)
sheetList为excel中每一个sheet的属性,包括sheet上的数据、sheet名称、sheet上每个table个性化的样式、合并单元格等个性化设置,具体参照ExcelSheetElement属性,以及演示工程seivice层代码
1.2 EasyExcelUtil.fillWithTemplate(String targetFilename,ExcelFillElement excelFillElement, OutputStream outputStream)
excelFillElement为excel模板导出数据对象,包括导出的数据、模板文件位置、单元格样式、合并单元格等个性化设置,其中单元格样式和合并单元格设置主要是针对带有循环扩展区域的新创建单元格以及再合并处理,否则新扩展的单元格是不会合并和添加任何样式的即使是模板中预先设置的单元格你已经做好了这些,targetFilename为导出的文件的名称,默认存放在和导出模板同目录下,OutputStream 为导出后excel文件存放位置,具体参照ExcelFillElement 属性,以及演示工程seivice层代码
注意:模板导出,需要满足模板的特定书写格式,可见阿里的模板导出格式说明
1.3 EasyExcelUtil.writeToExcelInZip(List excelList,List excelFileNames, OutputStream zipOutputStream)
针对导出多个excel文件,则可以将多个文件导出后统一放到压缩包中,代码层面是 1.1的增强,excelList中每一个元素就是一个excel文件对应的属性,等同于 1.1 的sheetList,excelFileNames为对应的excel文件名称,如果没有此参数 ,则默认以excelList元素下表数字作为每一个excel文件名称 ,zipOutputStream为zip文件的输出流

导入功能
2.1 EasyExcelUtil.List getFromExcel(InputStream inputStream, List sheetElements, List includeSheets, Consumer defaultConsumer,List defaultHead)
inputStream为导入的excel文件,sheetElements为对应的导入文件的每一个sheet对象,包括每一个sheet数据对应的接收实体类型和具体叫收到数据后的操作,比如插入数据库操作等,includeSheets用来控制文件中想导入的sheet即用户可以选择导入哪个sheet,对于多个sheet可能会存在对应的是同一个实体类的情况,所以就不需要重复设置每一个sheet对应的属性而是通过defaultConsumer, defaultHead参数统一设置即可。返回值List可以获取到具体的每个sheet对应的导入数据

web导出功能
3.1 EasyExcelUtil.exportWebExcel(List sheetList, HttpServletRequest request, HttpServletResponse response, String filename)
该功能是针对web项目的excel导出功能,代码层面是1.1方法的一个增强,通过request和response来构造输出流即1.1方法的outputstream参数
3.2 EasyExcelUtil.exportWebExcelInZip(List excelList,List excelFileNames, HttpServletResponse response, String filename)
该功能是针对web项目的多个excel导出并打包成zip的功能,代码层面是1.3方法的一个增强,通过response来构造输出流即1.3方法的zip的outputstream参数
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论