最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用EasyPoi輕松導(dǎo)入導(dǎo)出Excel文檔的方法示例

 更新時間:2019年12月17日 10:10:24   作者:十步殺一人_千里不留行  
這篇文章主要介紹了使用EasyPoi輕松導(dǎo)入導(dǎo)出Excel文檔的方法示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

提到Excel的導(dǎo)入導(dǎo)出,大家肯定都知道alibaba開源的EasyExcel,該項目的github地址為:https://github.com/alibaba/easyexcel。

這個項目非常活躍,項目誕生的目的就是為了簡化開發(fā)、降低內(nèi)存消耗。我項目中也用過,但還是有一些槽點(diǎn)的,比如文檔很簡陋,功能做的不完善,不支持圖片的讀取等。所以,今天給大家推薦另外一款Excel處理的工具:EasyPoi。

一、EasyPoi簡介

官網(wǎng):http://www.afterturn.cn/

文檔:http://easypoi.mydoc.io/

EasyPoi功能如同名字easy,主打的功能就是容易,讓一個沒見接觸過poi的人員 就可以方便的寫出Excel導(dǎo)出,Excel模板導(dǎo)出,Excel導(dǎo)入,Word模板導(dǎo)出,通過簡單的注解和模板 語言(熟悉的表達(dá)式語法),完成以前復(fù)雜的寫法 ,不如poi那么自定義,不如jxl那么多標(biāo)簽,但是我們就是寫的少,寫的少。

EasyPoi的主要特點(diǎn)

  1. 設(shè)計精巧,使用簡單
  2. 接口豐富,擴(kuò)展簡單
  3. 默認(rèn)值多,write less do more
  4. spring mvc支持,web導(dǎo)出可以簡單明了

二、EasyPoi的功能介紹

Excel自適應(yīng)xls和xlsx兩種格式,word只支持docx模式,功能還是挺豐富的。

1.Excel導(dǎo)入

  • 注解導(dǎo)入
  • Map導(dǎo)入
  • 大數(shù)據(jù)量導(dǎo)入sax模式
  • 導(dǎo)入文件保存
  • 文件校驗
  • 字段校驗

2.Excel導(dǎo)出

  • 注解導(dǎo)出
  • 模板導(dǎo)出
  • html導(dǎo)出

3.Excel轉(zhuǎn)html

4.word導(dǎo)出

5.pdf導(dǎo)出

三、重點(diǎn)功能介紹

1.注解

EasyPoi起因就是Excel的導(dǎo)入導(dǎo)出,最初的模板是實體和Excel的對應(yīng),model--row,filed--col 這樣利用注解我們可以和容易做到excel到導(dǎo)入導(dǎo)出 經(jīng)過一段時間發(fā)展,現(xiàn)在注解有5個類分別是

  • @Excel 作用到filed上面,是對Excel一列的一個描述
  • @ExcelCollection 表示一個集合,主要針對一對多的導(dǎo)出,比如一個老師對應(yīng)多個科目,科目就可以用集合表示
  • @ExcelEntity 表示一個繼續(xù)深入導(dǎo)出的實體,但他沒有太多的實際意義,只是告訴系統(tǒng)這個對象里面同樣有導(dǎo)出的字段
  • @ExcelIgnore 和名字一樣表示這個字段被忽略跳過這個導(dǎo)導(dǎo)出
  • @ExcelTarget 這個是作用于最外層的對象,描述這個對象的id,以便支持一個對象可以針對不同導(dǎo)出做出不同處理

2.Excel 模板

模板是處理復(fù)雜Excel的簡單方法,復(fù)雜的Excel樣式,可以用Excel直接編輯,完美的避開了代碼編寫樣式的雷區(qū),同時指令的支持,也提了模板的有效性。就像下面這樣使用,具體用法請看文檔。

3.Excel<->Html的互轉(zhuǎn)

4.Word模板導(dǎo)出

5.圖片的導(dǎo)入導(dǎo)出

@Test//圖片導(dǎo)入
public void test() {
        try {
            ImportParams params = new ImportParams();
            params.setNeedSave(true);
            List<CompanyHasImgModel> result = ExcelImportUtil.importExcel(
                    new File(PoiPublicUtil.getWebRootPath("import/imgexcel.xls")),
                    CompanyHasImgModel.class, params);
            for (int i = 0; i < result.size(); i++) {
                System.out.println(ReflectionToStringBuilder.toString(result.get(i)));
           }
            Assert.assertTrue(result.size() == 4);
       } catch (Exception e) {
            e.printStackTrace();
       }
   }
}
 //導(dǎo)出
 @Excel(name = "公司LOGO", type = 2 ,width = 40 , height = 20,imageType = 1)
    private String companyLogo;

6.Excel大數(shù)據(jù)導(dǎo)出

大數(shù)據(jù)導(dǎo)出是當(dāng)我們的導(dǎo)出數(shù)量在幾萬,到上百萬的數(shù)據(jù)時,一次從數(shù)據(jù)庫查詢這么多數(shù)據(jù)加載到內(nèi)存然后寫入會對我們的內(nèi)存和CPU都產(chǎn)生壓力,這個時候需要我們像分頁一樣處理導(dǎo)出分段寫入Excel緩解Excel的壓力 EasyPoi提供的是兩個方法 強(qiáng)制使用 xssf版本的Excel 。具體代碼看文檔,我們看下資源占用即可:

多次測試用時統(tǒng)計,速度還是可以接受的。

數(shù)據(jù)量 用時 文件大小 列數(shù)
100W 16.4s 24.3MB 5
100W 15.9s 24.3MB 5
200W 29.5s 48.5MB 5
100W 30.8s 37.8MB 10
200W 58.7s 76.1MB 10

7.大數(shù)據(jù)導(dǎo)出View的用法

Easypoi view 項目是為了更簡單的方便搭建在導(dǎo)出時候的操作,利用spring mvc 的view 封裝,更加符合spring mvc的風(fēng)格。EasypoiBigExcelExportView 是針對大數(shù)據(jù)量導(dǎo)出特定的View,在跳轉(zhuǎn)到這個View的時候不需要查詢數(shù)據(jù),而且這個View自己去查詢數(shù)據(jù),用戶只要實現(xiàn)IExcelExportServer接口就可以了 。

總結(jié),Easypoi的功能強(qiáng)大,文檔和示例代碼豐富,大家在開發(fā)中如果有類似的需求,不妨一試。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java的JSON轉(zhuǎn)換庫GSON的基本使用方法示例

    Java的JSON轉(zhuǎn)換庫GSON的基本使用方法示例

    GSON是Google制作的一個可以讓Java對象與JSON互相轉(zhuǎn)換的類庫,下面我們就來看一下Java的JSON轉(zhuǎn)換庫GSON的基本使用方法示例:
    2016-06-06
  • SpringBoot應(yīng)用監(jiān)控帶郵件警報的實現(xiàn)示例

    SpringBoot應(yīng)用監(jiān)控帶郵件警報的實現(xiàn)示例

    本文主要介紹了SpringBoot應(yīng)用監(jiān)控帶郵件警報的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • Java調(diào)用DeepSeek?api實現(xiàn)方法記錄

    Java調(diào)用DeepSeek?api實現(xiàn)方法記錄

    這篇文章主要介紹了如何在Java中調(diào)用DeepSeek?API,包括在官網(wǎng)獲取APIKeys、創(chuàng)建API請求工具類以及處理返回結(jié)果的步驟,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-02-02
  • Java Spring Boot消息服務(wù)萬字詳解分析

    Java Spring Boot消息服務(wù)萬字詳解分析

    在實際項目開發(fā)中,有時需要與其他系統(tǒng)進(jìn)行集成完成相關(guān)業(yè)務(wù)功能,這種情況最原始做法是程序內(nèi)部相互調(diào)用,除此之外,還可以用消息服務(wù)中間件進(jìn)行業(yè)務(wù)處理,用消息服務(wù)中間件處理業(yè)務(wù)能夠提升系統(tǒng)的異步通信和擴(kuò)展解耦能力。Spring Boot對消息服務(wù)管理提供了非常好的支持
    2021-10-10
  • java如何根據(jù)HttpServletRequest獲取IP地址

    java如何根據(jù)HttpServletRequest獲取IP地址

    文章介紹了幾種代理服務(wù)器轉(zhuǎn)發(fā)服務(wù)請求頭的方法,這些請求頭可能包含真實IP地址,但并不是所有的代理都會包括這些請求頭,而且這些IP地址可能被偽造
    2025-03-03
  • Java本地高性能緩存的幾種常見實現(xiàn)方式

    Java本地高性能緩存的幾種常見實現(xiàn)方式

    在Java中緩存是一種常用的性能優(yōu)化技術(shù),用于在應(yīng)用程序中加速訪問和查詢數(shù)據(jù)的速度,下面這篇文章主要給大家介紹了關(guān)于Java本地高性能緩存的幾種常見實現(xiàn)方式,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-07-07
  • JavaWeb實現(xiàn)顯示mysql數(shù)據(jù)庫數(shù)據(jù)

    JavaWeb實現(xiàn)顯示mysql數(shù)據(jù)庫數(shù)據(jù)

    MySQL是最流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),在WEB應(yīng)用方面MySQL是最好的。本文將利用JavaWeb實現(xiàn)顯示mysql數(shù)據(jù)庫數(shù)據(jù)功能,需要的可以參考一下
    2022-03-03
  • 詳解JVM中的本機(jī)內(nèi)存跟蹤

    詳解JVM中的本機(jī)內(nèi)存跟蹤

    在本文里小編給大家整理了一篇關(guān)于JVM中的本機(jī)內(nèi)存跟蹤的相關(guān)知識點(diǎn)內(nèi)容,有興趣的朋友們參考學(xué)習(xí)下。
    2019-07-07
  • Java中的BigDecimal精度運(yùn)算詳解

    Java中的BigDecimal精度運(yùn)算詳解

    這篇文章主要介紹了Java中的BigDecimal精度運(yùn)算詳解,Java在java.math包中提供的API類BigDecimal,用來對超過16位有效位的數(shù)進(jìn)行精確的運(yùn)算,雙精度浮點(diǎn)型變量double可以處理16位有效數(shù),但在實際應(yīng)用中,可能需要對更大或者更小的數(shù)進(jìn)行運(yùn)算和處理,需要的朋友可以參考下
    2023-10-10
  • Spring Boot連接超時導(dǎo)致502錯誤的實戰(zhàn)案例

    Spring Boot連接超時導(dǎo)致502錯誤的實戰(zhàn)案例

    這篇文章主要給大家介紹了關(guān)于Spring Boot連接超時導(dǎo)致502錯誤的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09

最新評論

祁阳县| 天水市| 乐至县| 金山区| 阿瓦提县| 通道| 乐都县| 玉溪市| 浦东新区| 蒙山县| 广宗县| 噶尔县| 固镇县| 大邑县| 海宁市| 吴川市| 桑日县| 台湾省| 饶河县| 太仆寺旗| 台州市| 舞阳县| 新乡县| 平果县| 宜春市| 湖北省| 泰宁县| 咸丰县| 公主岭市| 栖霞市| 四子王旗| 朝阳市| 定日县| 荆州市| 西丰县| 屏东县| 班戈县| 绥芬河市| 麻阳| 西平县| 五家渠市|