MyExcel 2.5.1 版本发布,Bug 修复

 惟心
发布于 2019年06月17日
收藏 52

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

本次更新主要是BUG修复,更新点如下:

  • 修复追加sheet的数据为空时导致的追加失败问题;
  • 修复追加sheet导致的原配置失效问题;
  • 修复使用@ExcelTable导致的静态字段被导出问题,默认静态字段不被导出,也可通过ignoreStaticFields=false取消;
  • 修改使用同一类类型,sheet名称无法自增长问题;
  • 修复选择自动列宽设置错误问题;
  • 修复设置workbook类型部分情况下不生效问题;
  • 修复DefaultStreamExcelBuilder无法直接固定标题行问题;
  • 新增DefaultExcelBuilder\DefaultStreamExcelBuilder自动换行,默认为true,可通过@ExcelTable中wrapText取消;
  • 修改DefaultExcelBuilder\DefaultStreamExcelBuilder部分数据结构为LinkedList,降低内存要求;
  • 修改快速移除数据逻辑,提升数据处理效率;
  • 优化部分转换操作,避免海里数据列表整体复制;

建议所有使用用户尽快升级,更多请移步:https://github.com/liaochong/myexcel/wiki

--------------------------------------------------------------------------------------

优势 | Advantages

  • 可生成任意复杂表格:本工具使用迭代单元格方式进行Excel绘制,可生成任意复杂度Excel,提供多种宽度策略;
  • 零学习成本:使用Html作为模板,学习成本几乎为零;
  • 支持常用背景色、边框、字体等样式设置:具体参见下方Style-support(样式支持)部分;
  • 支持.XLS、.XLSX:支持生成.xls、.xlsx后缀的Excel;
  • 支持公式导出:支持Excel模板中设置公式,降低服务端的计算量;
  • 支持低内存SXSSF模式:支持低内存的SXSSF模式,可利用极低的内存生成.xlsx;
  • 支持生产者消费者模式导出:支持生产者消费者模式导出,无需一次性获取所有数据,分批获取数据配合SXSSF模式实现真正意义上海量数据导出;
  • 支持多种模板引擎:已内置Freemarker、Groovy、Beetl、Thymeleaf等常用模板引擎Excel构建器(详情参见文档Getting started),推荐使用Beetl模板引擎(Beetl文档);
  • 提供默认Excel构建器,直接输出简单Excel:无需编写任何Html,已内置默认模板,可直接根据POJO数据列表输出;
  • 支持一次生成多sheet:以table作为sheet单元,支持一份Excel文档中多sheet导出;

导入示例:

URL htmlToExcelEampleURL = this.getClass().getResource("/templates/read_example.xlsx");
Path path = Paths.get(htmlToExcelEampleURL.toURI());

// 方式一:全部读取后处理
List<ArtCrowd> result = DefaultExcelReader.of(ArtCrowd.class)
        .sheet(0) // 0代表第一个,如果为0,可省略该操作
        .rowFilter(row -> row.getRowNum() > 0) // 如无需过滤,可省略该操作,0代表第一行
        .beanFilter(ArtCrowd::isDance) // bean过滤
        .read(path.toFile());// 可接收inputStream

导出示例:

/**
* 普通方式导出
*/
@GetMapping("/default/excel/example")
public void defaultBuild(HttpServletResponse response) throws Exception {
    List<ArtCrowd> dataList = this.getDataList();
    Workbook workbook = DefaultExcelBuilder.of(ArtCrowd.class)
            .build(dataList);
    AttachmentExportUtil.export(workbook, "艺术生信息", response);
    // 加密导出 AttachmentExportUtil.encryptExport(workbook, "艺术生信息", response,"123456");
}

效果:

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:MyExcel 2.5.1 版本发布,Bug 修复
加载中

最新评论(9

CielSwift
CielSwift
我在上面提了一个单数日期自动填充0的lssues。
惟心
@ExcelColumn(index = 7, dateFormatPattern = "yyyy/MM/dd") ,增加dateFormatPattern = "yyyy/M/dd",会自动添加0
赤脚小子
赤脚小子
体验过了,挺好用的,就是用户手册还得再丰富下,缺点条例
惟心
@赤脚小子 感谢使用,使用文档已经在重新整理中,会尽快提供
CielSwift
CielSwift
为什么这么重视这个库。天天报道。有很多操作Excel的库,Apache的等等…
s
shuaizai88
谁用谁知道,不复杂的情况下还是比较好用的,作者有问必答
惟心
@shuaizai88 感谢肯定,另外,
除了简单情况Excel生成,myexcel最核心的功能是高复杂Excel生成,有机会欢迎使用哦
惟心
😂也没那么严重
五毛程序员
五毛程序员
吓得我赶紧升了个级
返回顶部
顶部