<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          easyexcelJava 解析 Excel 工具

          聯(lián)合創(chuàng)作 · 2023-09-28 11:38

          easyexcel 是一個 JAVA 解析 Excel 工具。Java 解析、生成 Excel 比較有名的框架有 Apache poi、jxl 。但他們都存在一個嚴重的問題就是非常的耗內存,poi 有一套 SAX 模式的 API 可以一定程度的解決一些內存溢出的問題,但 POI 還是有一些缺陷,比如 07 版 Excel 解壓縮以及解壓后存儲都是在內存中完成的,內存消耗依然很大。easyexcel 重寫了 poi 對 07 版 Excel 的解析,能夠原本一個 3M 的 excel 用 POI sax 依然需要 100M 左右內存降低到 KB 級別,并且再大的 excel 不會出現(xiàn)內存溢出,03 版依賴 POI 的 sax 模式。在上層做了模型轉換的封裝,讓使用者更加簡單方便。

          二方包

          <dependency>
              <groupId>com.alibaba</groupId>
              <artifactId>easyexcel</artifactId>
              <version>{latestVersion}</version>
          </dependency>

           

          快速開始

          讀 Excel

          public void noModelMultipleSheet() {
                  InputStream inputStream = getInputStream("2007NoModelMultipleSheet.xlsx");
                  try {
                      ExcelReader reader = new ExcelReader(inputStream, ExcelTypeEnum.XLSX, null,
                          new AnalysisEventListener<List<String>>() {
                              @Override
                              public void invoke(List<String> object, AnalysisContext context) {
                                  System.out.println(
                                      "當前sheet:" + context.getCurrentSheet().getSheetNo() + " 當前行:" + context.getCurrentRowNum()
                                          + " data:" + object);
                              }
                              @Override
                              public void doAfterAllAnalysed(AnalysisContext context) {
          
                              }
                          });
          
                      reader.read();
                  } catch (Exception e) {
                      e.printStackTrace();
          
                  } finally {
                      try {
                          inputStream.close();
                      } catch (IOException e) {
                          e.printStackTrace();
                      }
                  }
              }

           

          寫 Excel

          @Test
          public void test1() throws FileNotFoundException {
                  OutputStream out = new FileOutputStream("/Users/jipengfei/78.xlsx");
                  try {
                      ExcelWriter writer = new ExcelWriter(out, ExcelTypeEnum.XLSX);
                      //寫第一個sheet, sheet1  數(shù)據(jù)全是List<String> 無模型映射關系
                      Sheet sheet1 = new Sheet(1, 0,ExcelPropertyIndexModel.class);
                      writer.write(getData(), sheet1);
                      writer.finish();
                  } catch (Exception e) {
                      e.printStackTrace();
                  } finally {
                      try {
                          out.close();
                      } catch (IOException e) {
                          e.printStackTrace();
                      }
                  }
              }
          瀏覽 13
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲性色网 | 天天射天天撸 | 中文字幕黄色电影 | 最近好看的2019中文在线小说 | 69香蕉视频 |