日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

easypoi 多sheet导入_程序员接私活利器 玩转excel导入导出

發布時間:2024/10/8 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 easypoi 多sheet导入_程序员接私活利器 玩转excel导入导出 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

為什么會寫Easypoi

以前的以前(歲月真TMD的快)我雖然寫了不少代碼但還是很少寫poi,然后跳到一家公司之后就和業務人員聊上了,來這個需要個報表,這個報表樣式是這樣的,這個表頭是這樣的,就這樣我寫了大量的poi代碼,每次都是大量的篇幅,copy to copy,無聊的一逼,然后加入了jeecg,jeecg中有一個小的工具類,雖然我也不知道是誰寫的,然是可以用注解搞定最簡單的導出,突然豁然開朗,我可以完善,讓我從報表的苦海當中脫離出來,這樣我花了一周的時間做了第一個版本支持導入導出放到了jeecg,發現還是不錯的,慢慢的用的人越來越多,我就把這塊獨立出來了,再然后有人提出了模板,然后就加入了模板功能,提出了word的需求,加入了word的功能,后來工作忙了雖然沒再參與jeecg,但還是一直維持這easypoi的更新,根據見識的增長也不斷的重構這代碼,直到現在

獨特的功能

  • 基于注解的導入導出,修改注解就可以修改Excel
  • 支持常用的樣式自定義
  • 基于map可以靈活定義的表頭字段
  • 支持一堆多的導出,導入
  • 支持模板的導出,一些常見的標簽,自定義標簽
  • 支持HTML/Excel轉換,如果模板還不能滿足用戶的變態需求,請用這個功能
  • 支持word的導出,支持圖片,Excel

小白如何開始

  • 下載demo運行看看,基本上常見的用用法都在里面easypoi-test
  • 查看幾個*Util的用法,Easypoi的主要輸出就是這個
  • 看看注解的意思
  • 看看模板的標簽用法
  • 可以出師了

Easypoi 為誰而開發

  • 不太熟悉poi的
  • 不想寫太多重復太多的
  • 只是簡單的導入導出的
  • 喜歡使用模板的

都可以使用easypoi

Easypoi的目標是什么

Easypoi的目標不是替代poi,而是讓一個不懂導入導出的快速使用poi完成Excel和word的各種操作,而不是看很多api才可以完成這樣工作

1.3 使用

  • 1.easypoi 父包--作用大家都懂得
  • 2.easypoi-annotation 基礎注解包,作用與實體對象上,拆分后方便maven多工程的依賴管理
  • 3.easypoi-base 導入導出的工具包,可以完成Excel導出,導入,Word的導出,Excel的導出功能
  • 4.easypoi-web 耦合了spring-mvc 基于AbstractView,極大的簡化spring-mvc下的導出功能
  • 5.sax 導入使用xercesImpl這個包(這個包可能造成奇怪的問題哈),word導出使用poi-scratchpad,都作為可選包了

如果不使用spring mvc的便捷福利,直接引入easypoi-base 就可以了,easypoi-annotation

1.4 測試項目

測試這個事情真不是個容易的事情

測試項目包括兩塊 Junit 的常見測試和spring 的view測試

1.spring view測試

運行application就可以了,訪問界面,然后看到界面

對應的代碼在view下面

2.Junit的測試目錄結構如下

  • tohtml html預覽測試
  • view 導出的view測試
  • cache 自定義緩存測試
  • html html互轉測試
  • test
  • excel
  • read 讀取Excel測試
  • check 導入檢查測試
  • hanlder 導入數據處理
  • img 含圖片導入測試
  • styler 導出樣式自定義測試
  • template 模板導出測試
  • sum 導出含統計測試
  • test 導出測試
  • groupname groupname 屬性測試
  • img 導出圖片測試
  • pdf pdf測試
  • word word導出測試
  • util util 內部測試

目前的測試覆蓋率

2. Excel 注解版

2.1 Excel導入導出

Excel的導入導出是Easypoi的核心功能,前期基本也是圍繞這個打造的,主要分為三種方式的處理,其中模板和Html目前只支持導出,因為支持Map.class其實導入應該是怎樣都支持的

  • 注解方式,注解變種方式
  • 模板方式
  • Html方式

下面分別就這三種方式進行講解

2.2 注解

注解介紹

easypoi起因就是Excel的導入導出,最初的模板是實體和Excel的對應,model--row,filed--col 這樣利用注解我們可以和容易做到excel到導入導出

經過一段時間發展,現在注解有5個類分別是

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

注解中的ID的用法

這個ID算是一個比較獨特的例子,比如

@ExcelTarget("teacherEntity")public class TeacherEntity implements java.io.Serializable { /** name */ @Excel(name = "主講老師_teacherEntity,代課老師_absent

總結

以上是生活随笔為你收集整理的easypoi 多sheet导入_程序员接私活利器 玩转excel导入导出的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。