皇上,还记得我吗?我就是1999年那个Linux伊甸园啊-----24小时滚动更新开源资讯,全年无休!

MyExcel 2.5.1 版本发布,Bug 修复

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");
}

效果:

 

转自 https://www.oschina.net/news/107516/myexcel-2-5-1-released

分享到:更多 ()