内容简介:MyExcel,是一个集导入、导出、加密Excel等多项功能的Java工具包。 MyExcel采用声明式语法来构建、读取Excel,屏蔽POI的具体操作细节(对POI无感知),以开发常用的技术替代,使得构建(从简单到高度复杂Excel)以...
MyExcel,是一个集导入、导出、加密Excel等多项功能的 Java 工具包。
MyExcel采用声明式语法来构建、读取Excel,屏蔽POI的具体操作细节(对POI无感知),以开发常用的技术替代,使得构建(从简单到高度复杂Excel)以及读取Excel变得极为便利,且构建、读取性能极为优异,占用内存极低(具体,请移步参考MyExcel&阿里EasyExcel性能对比)。
如导入:
List<ArtCrowd> result = SaxExcelReader.of(ArtCrowd.class)
.sheet(0) // 0代表第一个,如果为0,可省略该操作,也可sheet("名称")读取
.rowFilter(row -> row.getRowNum() > 0) // 如无需过滤,可省略该操作,0代表第一行
.beanFilter(ArtCrowd::isDance) // bean过滤
.read(path.toFile());
本次更新如下:
- 重构模板构建器ExcelBuilder,使用TemplateHandler处理模板解析;
- DefaultStreamExcelBuilder支持模板追加;
- 新增MyExcelConfiguration,支持对MyExcel进行全局设置,如自定义临时文件目录;
- 优化ExcelBuilder资源处理,提升模板构建效率;
- 重命名@ExcelModel等注解对应配置类名称,易于理解;
- 优化单元测试文件存放目录,避免clone后无法直接执行单元测试问题;
在某些情况下,可能需要个性化的表头,或者汇总等等,这些需求可能会涉及合并行、列、样式等复杂布局,而且导出的数据可能又比较大,DefaultStreamExcelBuilder
本身对Bean的能力不足以支撑复杂布局,为兼容海量数据导出与复杂布局,版本3.6.0以及以后,DefaultStreamExcelBuilder
支持模板的追加,在模板中定义复杂布局,追加模板方式如下
代码示例:
try (DefaultStreamExcelBuilder<ArtCrowd> streamExcelBuilder = DefaultStreamExcelBuilder
.of(ArtCrowd.class)
.templateHandler(FreemarkerTemplateHandler.class)// 追加模板数据,可选,适合极度个性化数据导出
.start()) {
// 模板数据追加
Map<String,Object> dataMap = this.getDataMap();
streamExcelBuilder.append("/templates/test.ftl", dataMap);
// 普通数据追加
List<ArtCrowd> dataList = this.getDataList();
streamExcelBuilder.append(dataList);
// 最终构建
Workbook workbook = defaultExcelBuilder.build();
AttachmentExportUtil.export(workbook, "艺术生信息", response);
}
首先,需要指定模板处理器:templateHandler(FreemarkerTemplateHandler.class),除FreemarkerTemplateHandler,还有BeetlTemplateHandler、EnjoyTemplateHandler、ThymeleafTemplateHandler等其他5种常用模板处理器;
其次,使用append方法追加模板数据,该方法接受相对路径以及绝对路径模板,绝对路径方式如下:
append("C:/User/project/templates","test.ftl",dataMap);
最终效果如下:
具体,请移步文档,参见流式导出部分:文档
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- ASP.NET 开源导入导出库Magicodes.IE 导出Pdf教程
- MrDoc 0.5.0 版本发布,优化 EPUB 导出,新增 PDF 导出,支持自定义思维导图
- php 导出 excel
- oracle导出序列sequence
- vue导出excel表格
- Phoenix 数据导入与导出
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Hacker's Delight
Henry S. Warren Jr. / Addison-Wesley / 2002-7-27 / USD 59.99
A collection useful programming advice the author has collected over the years; small algorithms that make the programmer's task easier. * At long last, proven short-cuts to mastering difficult aspec......一起来看看 《Hacker's Delight》 这本书的介绍吧!