MyExcel 3.5.0 发布,支持绝对路径模板&样式定义灵活化

来源: 投稿
作者: 惟心
2020-03-09

MyExcel,是一个集导入、导出、加密Excel等多项功能的Java工具包。

MyExcel采用声明式语法来构建、读取Excel,屏蔽POI的具体操作细节(对POI无感知),以开发常用的技术替代,使得构建(从简单到高度复杂Excel)以及读取Excel变得极为便利,且构建、读取性能极为优异,占用内存极低。

如导入:

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());

本次更新如下:

  • 修复图片导出宽度为0问题,图片自适应对应单元格;
  • 修复DefaultStreamExcelBuilder多线程导出,隔行样式错乱问题;
  • 模板导出支持绝对路径导出-fileTemplate
  • 链接无样式时采用默认样式(蓝色字体,下划线);
  • @ExcelModel全局样式支持单列样式,如title&1,表示第一列标题;
  • 支持Map导出样式设置;
  • 支持模板导出识别标准超链接<a href="http://www.baidu.com">百度</a>
  • 支持设置边框时使用border-style,一次性设置所有边框,无需单独设置,简化操作;
  • 重构DefaultExcelBuilder\DefaultStreamExcelBuilder样式解析模块;
  • 过期hasStyle方法,默认有样式时填充样式;
  • 过期模板导出template方法,使用classpathTemplate代替;
  • 过期WidthStrategy.CUSTOM_WIDTH自定义宽度策略,支持任何宽度策略模式下宽度设置;
  • 过期globalStyle方法,使用style方法代替;
  • 升级模板导出jsoup版本,大幅提升模板导出性能以及内存占用;

模板导出类路径支持:

try (ExcelBuilder excelBuilder = new FreemarkerExcelBuilder()) {
     Workbook workbook = excelBuilder
              .classpathTemplate("/templates/freemarkerToExcelExample.ftl")
              .build(dataMap);
     AttachmentExportUtil.export(workbook, "freemarker_excel", response);
}

模板导出绝对路径支持:

try (ExcelBuilder excelBuilder = new FreemarkerExcelBuilder()) {
     Workbook workbook = excelBuilder
              .fileTemplate("/Users/downloads/templates","freemarkerToExcelExample.ftl")
              .build(dataMap);
     AttachmentExportUtil.export(workbook, "freemarker_excel", response);
}

具体请移步,参见文档:文档

展开阅读全文
30 收藏
分享
加载中
最新评论 (3)
好用。强烈支持。别断更。
2020-03-09 17:45
0
回复
举报
这个底层可以去掉对poi的依赖吗?
2020-03-09 16:19
0
回复
举报
不能,myexcel是基于poi的,目前其他工具包基本上也都是基于poi的
2020-03-09 16:52
0
回复
举报
更多评论
4 评论
30 收藏
分享
返回顶部
顶部