MyExcel 3.3.0.GA 发布,支持图片导入

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

另外,MyExcel一直在实际生产环境中使用,每天导出、读取Excel接近上亿数据,内存占用、抖动极低,足够应对绝大部分应用场景。

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

本次发布更新点如下:

  • 修复字体加粗样式与颜色样式无法共存问题;
  • 修复SaxExcelReader读取多sheet异常问题;
  • 修复超链接无下划线问题;
  • 修复csv生成与读取未识别编码问题;
  • 修复Bean字段重名无覆盖问题;
  • 修复Bean父类字段默认导出在子类之后问题;
  • 支持图片导入;
  • 支持模板图片导出;
  • 支持带括号负值形式(财务格式)读取;
  • 支持BigInteger读取;
  • 新增DefaultExcelReader\SaxExcelReader noTrim方法;
  • 优化DefaultExcelReader\SaxExcelReader,默认读取时trim;
  • 优化DefaultStreamExcelBuilder生产者消费者模式,避免消费者线程不受控风险;
  • 优化读取逻辑,降低内存分配频率;

其他具体,请移步参见文档:MyExcel文档

如有问题请在issue上提出,会尽快给出答复。

导出示例:

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

猜你喜欢

转载自www.oschina.net/news/112262/myexcel-3-3-0-ga-released