前言

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

MyExcel采用声明式语法来构建、读取Excel,屏蔽POI的具体操作细节(对POI无感知),以开发常用的技术替代,使得构建(从简单到高度复杂Excel)以及读取Excel变得极为便利。

 

「开源资讯」MyExcel 3.3.0.GA 发布,终于支持图片导入啦_excel

 

定位|Target
  • 导入:提供简便的API,读取Excel内容,并转化为List< Bean >。
  • 导出:可快速导出海量数据的简单列表,可生成高复杂度布局的Excel,复杂布局指的是包含多种不规则合并单元格、背景色、字体大小、斜体等,可自动划分Excel生成zip压缩包。
MyExcel 3.3.0.GA更新内容
  • 修复字体加粗样式与颜色样式无法共存问题;
  • 修复SaxExcelReader读取多sheet异常问题;
  • 修复超链接无下划线问题;
  • 修复csv生成与读取未识别编码问题;
  • 修复Bean字段重名无覆盖问题;
  • 修复Bean父类字段默认导出在子类之后问题;
  • 支持图片导入;
  • 支持模板图片导出;
  • 支持带括号负值形式(财务格式)读取;
  • 支持BigInteger读取;
  • 新增DefaultExcelReader\SaxExcelReader noTrim方法;
  • 优化DefaultExcelReader\SaxExcelReader,默认读取时trim;
  • 优化DefaultStreamExcelBuilder生产者消费者模式,避免消费者线程不受控风险;
  • 优化读取逻辑,降低内存分配频率;
代码示例

例如导入:

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接近上亿数据,内存占用、抖动极低,足够应对绝大部分应用场景。

例如导出:

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

 

「开源资讯」MyExcel 3.3.0.GA 发布,终于支持图片导入啦_excel_02

 

 

「开源资讯」MyExcel 3.3.0.GA 发布,终于支持图片导入啦_excel_03