分享

MyExcel 2.8.2 版本发布,2.x 最后一版

 我的人生宝库 2019-08-12

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

  • 导入:提供简便的API,读取Excel内容,并转化为List< Bean >。
  • 导出:可快速导出海量数据的简单列表,可生成高复杂度布局的Excel,复杂布局指的是包含多种不规则合并单元格、背景色、字体大小、斜体、下拉列表等,可自动划分Excel生成zip压缩包。

本次更新为综合更新,涉及众多新特性以及Bug修复,更新点如下:

  • 修复DefaultExcelBuilder、DefaultStreamExcelBuilder固定标题行无法横向移动问题;
  • 修复SaxExcelReader读取.xls文件流失败问题;
  • 修复DefaultExcelBuilder/DefaultStreamExcelBuilder非连续列复杂表头共存问题;
  • 修复空Tr情况下报java.lang.UnsupportedOperationException异常问题;
  • 修复读取Bigdecimal时,未除去非字符,如“,”等导致的错误问题;
  • 新增CsvBuilder,支持生成.csv文件;
  • 新增.csv文件读取模块,使用SaxExcelReader读取;
  • SaxExcelReader支持按sheet名称读取;
  • 新增DefaultExcelBuilder\DefaultStreamExcelBuilder\Excel模板下拉列表支持;
  • 新增DefaultExcelBuilder\DefaultStreamExcelBuilder\Excel模板超链接支持;
  • 新增DefaultExcelBuilder\DefaultStreamExcelBuilder自定义样式支持;
  • 新增DefaultExcelBuilder\DefaultStreamExcelBuilder金额格式化支持;
  • 新增DefaultExcelBuilder、DefaultStreamExcelBuilder简单映射支持;
  • 新增DefaultExcelBuilder动态Map导出自定义宽度支持;
  • 新增各个Excel构建器closeable支持,异常情况下try-with-resource主动关闭相关资源;
  • 优化AttachmentExportUtil导出content-type,明确类型;
  • 其他数据结构、内存优化;
  • 使用文档完善;

因涉及较多的Bug修复,建议所有使用用户进行升级!!!

2.8.2版本是2.x最后一版,后续将进入3.x版本,在此期间会进行核心代码重构以及性能大提升,也会伴随其他新特性,敬请期待!!!

新特性展示如下:

1. DefaultExcelBuilder\DefaultStreamExcelBuilder非连续多表头

// 导出逻辑Workbook workbook = DefaultExcelBuilder.of(ArtCrowd.class).fixedTitles().build(dataList);AttachmentExportUtil.export(workbook, '艺术生信息', response);// ArtCrowd类导出部分字段@ExcelColumn(order = 0, title = '扩展信息->姓名')private String name;@ExcelColumn(order = 1, title = '年龄')private Integer age;@ExcelColumn(order = 2, title = '扩展信息->性别', mapping = 'Man:男,Woman:女')private String gender;

MyExcel 2.8.2 版本发布,2.x 最后一版

2. DefaultExcelBuilder\DefaultStreamExcelBuilder金额格式化(默认四舍五入)

@ExcelColumn(title = '金额',decimalFormat = '##,##0.00')private BigDecimal money = new BigDecimal(12345.6454);

MyExcel 2.8.2 版本发布,2.x 最后一版

3. .csv文件生成

Csv csv = CsvBuilder.of(ArtCrowd.class).build(getDataList());AttachmentExportUtil.export(csv.getFilePath(), '123.csv', response);private List<ArtCrowd> getDataList() {}

csv文件生成目前只支持Bean方式,具体使用方式与DefaultExcelBuilder一致。

4. csv文件读取

// csv文件获取URL htmlToExcelEampleURL = this.getClass().getResource('/templates/read_example.csv');Path path = Paths.get(htmlToExcelEampleURL.toURI());// csv文件读取,支持流方式List<ArtCrowd> result = SaxExcelReader.of(ArtCrowd.class).beanFilter(bean -> bean.isDance()).rowFilter(row -> row.getRowNum() > 0).read(path.toFile());

5. 自定义样式支持

@ExcelColumn(title = '金额',decimalFormat = '##,##0.00',style = 'color:green;')private BigDecimal money = new BigDecimal(12345.6454);

MyExcel 2.8.2 版本发布,2.x 最后一版

6. 下拉列表支持(字段类型为List,则默认为下拉列表)

 @ExcelColumn(title = '下拉列表') private List<String> opts;

MyExcel 2.8.2 版本发布,2.x 最后一版

7. 简单映射

@ExcelColumn(title='性别',mapping='0:男,1:女')Integer gender;

其他具体详情,请移步文档:https://github.com/liaochong/myexcel/wiki

MyExcel 2.8.2 版本发布,2.x 最后一版

码云地址:https:///mirrors/MyExcel

文章转载自 OSCHINA 社区 [http://www.oschina.net]

本文标题:MyExcel 2.8.2 版本发布,2.x 最后一版

本文地址:https://www.oschina.net/news/108986/myexcel-2-8-2-released

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多