「開源資訊」MyExcel 3.3.0.GA 發佈,終於支持圖片導入啦

前言

MyExcel,是一個集導入、導出、加密Excel等多項功能的Java工具包。

MyExcel採用聲明式語法來構建、讀取Excel,屏蔽POI的具體操作細節(對POI無感知),以開發常用的技術替代,使得構建(從簡單到高度複雜Excel)以及讀取Excel變得極為便利。


「開源資訊」MyExcel 3.3.0.GA 發佈,終於支持圖片導入啦

定位|Target

  • 導入:提供簡便的API,讀取Excel內容,並轉化為List< Bean >。
  • 導出:可快速導出海量數據的簡單列表,可生成高複雜度佈局的Excel,複雜佈局指的是包含多種不規則合併單元格、背景色、字體大小、斜體等,可自動劃分Excel生成zip壓縮包。
  • MyExcel 3.3.0.GA更新內容

  • 修復字體加粗樣式與顏色樣式無法共存問題;
  • 修復SaxExcelReader讀取多sheet異常問題;
  • 修復超鏈接無下劃線問題;
  • 修復csv生成與讀取未識別編碼問題;
  • 修復Bean字段重名無覆蓋問題;
  • 修復Bean父類字段默認導出在子類之後問題;
  • <strong>支持圖片導入;
  • 支持模板圖片導出;
  • 支持帶括號負值形式(財務格式)讀取;
  • 支持BigInteger讀取;
  • 新增DefaultExcelReader\\SaxExcelReader noTrim方法;
  • 優化DefaultExcelReader\\SaxExcelReader,默認讀取時trim;
  • 優化DefaultStreamExcelBuilder生產者消費者模式,避免消費者線程不受控風險;
  • 優化讀取邏輯,降低內存分配頻率;
  • 代碼示例

    例如導入:

    <code>List<artcrowd> result = SaxExcelReader.of(ArtCrowd.class)/<artcrowd>/<code>
    <code>    .sheet(0) // 0代表第一個,如果為0,可省略該操作,也可sheet("名稱")讀取/<code>
    <code>    .rowFilter(row -> row.getRowNum() > 0) // 如無需過濾,可省略該操作,0代表第一行/<code>
    <code>    .beanFilter(ArtCrowd::isDance) // bean過濾/<code>
    <code>    .read(path.toFile());///<code>

    另外,MyExcel一直在實際生產環境中使用,每天導出、讀取Excel接近上億數據,內存佔用、抖動極低,足夠應對絕大部分應用場景。

    例如導出:

    <code>@GetMapping("/default/excel/example")/<code> 
    <code>public void defaultBuild(HttpServletResponse response) throws Exception {/<code>
    <code>  List<artcrowd> dataList = this.getDataList();/<artcrowd>/<code>
    <code>  Workbook workbook = DefaultExcelBuilder.of(ArtCrowd.class)/<code>
    <code>      .build(dataList);/<code>
    <code>  AttachmentExportUtil.export(workbook, "考生信息", response);/<code>
    <code>}/<code>


    「開源資訊」MyExcel 3.3.0.GA 發佈,終於支持圖片導入啦


    「開源資訊」MyExcel 3.3.0.GA 發佈,終於支持圖片導入啦


    分享到:


    相關文章: