MyExcel 2.3.0 版本发布,支持 SAX 方式导入

栏目: 软件资讯 · 发布时间: 5年前

内容简介:MyExcel 是一个集导入、导出、加密 Excel 等多项功能的 Java 工具包。 导入:提供简便的API,读取Excel内容,并转化为List< Bean >。 导出:可快速导出海量数据的简单列表,可生成高复杂度布局的Excel,复杂布局指...

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

导入:提供简便的API,读取Excel内容,并转化为List< Bean >。

导出:可快速导出海量数据的简单列表,可生成高复杂度布局的Excel,复杂布局指的是包含多种不规则合并单元格、背景色、字体大小、斜体等。

优点:

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

本次更新如下:

  • 新增SaxExcelReader,支持sax方式读取,避免OOM;
  • 优化读取转换方式,性能提升;
  • DefaultExcelReader新增beanFilter方法,支持bean过滤;
  • 增加Bean反射缓存;
  • 升级jsoup为1.12.1,模板方式导出性能提升,内存占用降低;
// 方式一:全部读取后处理
List<ArtCrowd> result = SaxExcelReader.of(ArtCrowd.class)
        .sheet(0) // 如果为0,可省略该操作
        .rowFilter(row -> row.getRowNum() > 0) // 如无需过滤,可省略该操作,0代表第一行
        .read(path.toFile());

// 方式二:读取一行处理一行,可自行决定终止条件
SaxExcelReader.of(ArtCrowd.class)
        .sheet(0) // 如果为0,可省略该操作
        .rowFilter(row -> row.getRowNum() > 0) // 如无需过滤,可省略该操作,0代表第一行
        .readThen(path.toFile() ,artCrowd -> System.out.println(artCrowd.getName));

public class ArtCrowd {
    // index代表列索引,从0开始
    @ExcelColumn(index = 0)
    private String name;

    @ExcelColumn(index = 1)
    private String age;

    @ExcelColumn(index = 2,dateFormatPattern="yyyy-MM-dd")
    private Date birthday;
}

具体使用,请移步:https://github.com/liaochong/myexcel/wiki

MyExcel 2.3.0 版本发布,支持 SAX 方式导入


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

深入浅出Rust

深入浅出Rust

范长春 / 机械工业出版社 / 2018-8-21 / 89.00元

本书详细描述了Rust语言的基本语法,穿插讲解一部分高级使用技巧,并以更容易理解的方式解释其背后的设计思想。全书总共分五个部分。 第一部分介绍Rust基本语法,因为对任何程序设计语言来说,语法都是基础,学习这部分是理解其他部分的前提。 第二部分介绍属于Rust独一无二的内存管理方式。它设计了一组全新的机制,既保证了安全性,又保持了强大的内存布局控制力,而且没有额外性能损失。这部分是本书......一起来看看 《深入浅出Rust》 这本书的介绍吧!

URL 编码/解码
URL 编码/解码

URL 编码/解码

MD5 加密
MD5 加密

MD5 加密工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具