EasyPoi教程 下載本文

簡要教程

目錄

簡要教程........................................................................................................................................... 1

前面的話 ................................................................................................................................... 1 第一章 Excel篇 ................................................................................................................. 2

Excel的注解 ..................................................................................................................... 2 Excel導出 ......................................................................................................................... 6 Excel模板導出 ............................................................................................................... 11 Excel導入 ....................................................................................................................... 14 第二章 Word篇 ............................................................................................................... 18

Word模板導出 ............................................................................................................... 18 第三章PDF導出 .................................................................................................................... 19 第四章HTML導出 ................................................................................................................. 20

HTML導出 ...................................................................................................................... 20 第五章 Excel 圖表 ................................................................................................................ 21 第六章緩存以及工具類 ......................................................................................................... 22

修改記錄

日期 2016-1-20 2016-1-22 版本 1.1 作者 JueYue 修訂類型 新建 修改 描述 導入校驗,文件合法性校驗 1.0 JueYue 前面的話

EasyPoi的編寫其實是一次意外,之前我不太愿意寫導入導出,因為代碼號復雜,每次一個Excel 都要寫幾百行,僅有少量的復用,一次需要寫許多的導入導出,又沒有人手,正好看到了Jeecg對應Poi的一個封裝,但是他的封裝比較簡單,就自己在他思想的基礎上開始構建現在的項目了. EasyPoi秉承思想就是盡量簡單,入庫少,可以很快把簡單的工作干了這是第一個版本的功能,后來慢慢用的人多了,也就功能慢慢豐富了,現在包含了Excel的導入導出,Word的導出,PDF的導出,Excel Charts的導出,Html的導出5個功能模塊,重點還是Excel,畢竟Excel是最常用的. EasyPoi已經走過了3年,未來也會繼續走,保持現有簡單的功能繼續前進. 程序員你懂得,懶得測試,目前測試覆蓋率,基本功能我都寫了,沒有的就遇到了再說吧

第一章 Excel篇 Excel的注解

本來注解是整個模塊的精髓,不過隨著模板的使用,他的重要性也就不如以前了,不過還是最簡單的使用方式.注解都是在easypoi-annotation這個jar,拆分開的目的就是為了讓多模塊的maven項目少引用,因為easypoi-annotation是沒有任何依賴的,只是單純的注解

@ExcelExcel導出基本注釋

這個注解是整個的基石,簡單項目只靠這一個注解就可以完成所有功能

限定符和類型

可選元素和說明

java.lang.String databaseFormat

導出時間設置,如果字段是Date類型則不需要設置數據庫如果是string 類型,這個需要設置這個數據庫格式

java.lang.String exportFormat

導出的時間格式,以這個是否為空來判斷是否需要格式化日期

java.lang.String format

時間格式,相當于同時設置了exportFormat和importFormat

double height

導出時在excel中每個列的高度單位為字符,一個漢字=2個字符

int imageType

導出類型 1 從file讀取 2 是從數據庫中讀取默認是文件同樣導入也是一樣的

java.lang.String importFormat

導入的時間格式,以這個是否為空來判斷是否需要格式化日期

boolean isHyperlink

這個是不是超鏈接,如果是需要實現接口返回對象

java.lang.String isImportField

導入時會校驗這個字段,看看這個字段是不是導入的Excel中有,如果沒有說明是錯誤的Excel 本意是想用true的,想想還是false比較好可以使用a_id,b_id來確實是否使用

boolean isStatistics

是否自動統計數據,如果是統計,true的話在最后追加一行統計,把所有數據都和這個處理會吞沒異常,請注意這一點

boolean isWrap

是否換行即支持\\n

int[] mergeRely

合并單元格依賴關系,比如第二列合并是基于第一列則{1}就可以了

boolean mergeVertical

縱向合并內容相同的單元格

boolean needMerge

是否需要縱向合并單元格(用于含有list中,單個的單元格,合并list創建的多個row)

java.lang.String orderNum

展示到第幾個可以使用a_id,b_id來確定不同排序

java.lang.String[] replace

值得替換導出是{a_id,b_id} 導入反過來,所以只用寫一個

java.lang.String

savePath

導入路徑,如果是圖片可以填寫,默認是upload/className/ IconEntity這個類對應的就是upload/Icon/

java.lang.String

suffix

文字后綴,如% 90 變成90%

int

type

導出類型 1 是文本 2 是圖片,3是函數默認是文本

double

width

導出時在excel中每個列的寬單位為字符,一個漢字=2個字符如以列名列內容中較合適的長度例如姓名列6 【姓名一般三個字】性別列4【男女占1,但是列標題兩個漢字】限制1-255

這當中需要說明的是:

mergeVertical和mergeRely這兩者是一起存在的功能,就是縱向合并單元和,mergeRely是判斷和前面單元格的依賴,可用于多種集合,不太好導出情況,來合并處理

DEMO:

最簡單的導出

復雜點的導出:

@ExcelTarget標記導入ID

就一個功能標記ID,用以區別多個導出對象,便于一個對象用于多個導出實例

java.lang.String value 定義excel導出ID 來限定導出字段 DEMO

使用方法

@ExcelEntity用來標示導出對象

因為對象不是基礎屬性,需要繼續判斷,所以加入這個屬性,這個屬性可以無限迭代, ID和ExcelTarget的ID功能一致 java.lang.String id

定義excel導出ID 來限定導出字段,處理一個類對應多個不同名稱的情況

java.lang.String name

導出時,對應數據庫的字段主要是用戶區分每個字段,不能有

annocation重名的導出時的列名導出排序跟定義了annotation的字段的順序有關可以使用a_id,b_id來確實是否使用

@ExcelCollection標示集合

集合只能一層,如果name有值,表頭就會有兩行,有過沒值就會只有一行 java.lang.String

id

定義excel導出ID 來限定導出字段,處理一個類對應多個不同名稱的情況

java.lang.String

orderNum

展示到第幾個同樣可以使用a_id,b_id

java.lang.Class type

創建時創建的類型默認值是arrayList

DEMO





黑龙江22选5兑奖期限