我之前一直用poi匯入匯出,寫起來還是挺麻煩的,雖然可以貼上複製相同**,但是畢竟有好大一坨。
所以嘗試用easypoi做excel的匯入匯出。閒言少敘,開始幹活…………
第一步:導包
<
!--easypoi需要導包的--
>
cn.afterturn<
/groupid>
easypoi-base<
/artifactid>
3.2.0
<
/version>
<
/dependency>
cn.afterturn<
/groupid>
easypoi-web<
/artifactid>
3.2.0
<
/version>
<
/dependency>
cn.afterturn<
/groupid>
easypoi-annotation<
/artifactid>
3.2.0
<
/version>
<
/dependency>
第二步 寫實體類,註解匯入匯出,實體類要寫得無偏差(重點)
註解屬性介紹:
name指定匯出excel時生成的列名
ordernum可指定匯出的該屬性對應的所在列的位置
width設定單元格寬度
type設定匯出型別 1是文字, 2是, 3是函式,10 數字預設是文字
replace:值得替換 例:replace = 資料庫值為"1",匯出時會自動被"身份證"代
例如:@excel(name=「證件型別」,replace = ,ordernum = 「1」)
/*** 將data日期匯出為yyyy-mm-dd格式
* mergevertical設定是否縱向合併列
* mergerely設定合併列的前提條件,即:只有當索引為2的列(即:"性別"列)已經
* 合併了時,那麼此時這一列的縱向相同時,才能縱向合併;如果引為2的
* 列(即:"性別"列)縱向資料不同,那麼就算此列的縱向資料相同,那麼
* 也不會合併
*/@excel(name=「入校時間」,mergevertical = true,mergerely = ,format = 「yyyy-mm-dd」,ordernum = 「5」,width = 20)
package com.sinux.easypoi.entity;
import cn.afterturn.easypoi.excel.annotation.excel;
import lombok.allargsconstructor;
import lombok.data;
import lombok.noargsconstructor;
/** * @author admin
*/@data
@allargsconstructor
@noargsconstructor
public
class
newexceloperateentity
資料庫值為"1",匯出時會自動被"身份證"代
*/@excel
(name=
"姓名"
,ordernum =
"0")
private string name;
@excel
(name=
"證件型別"
,replace =
,ordernum =
"1")
private string identifytype;
@excel
(name =
"證件號碼"
, ordernum =
"2")
private string identifyno;
@excel
(name =
"手機號1"
, ordernum =
"3",mergevertical =
true
)private string phonea;
@excel
(name =
"手機號2"
, ordernum =
"4",mergevertical =
true
)private string phoneb;
@excel
(name =
"手機號3"
, ordernum =
"5",mergevertical =
true
)private string phonec;
@excel
(name =
"固定**"
, ordernum =
"6",mergevertical =
true
)private string telephone;
@excel
(name =
"電子郵箱"
, ordernum =
"7",mergevertical =
true
)private string email;
@excel
(name =
"身份證位址"
, ordernum =
"8",mergevertical =
true
)private string idcardadress;
@excel
(name =
"戶籍位址"
, ordernum =
"9",mergevertical =
true
)private string householdaddress;
@excel
(name =
"居住位址"
, ordernum =
"10"
,mergevertical =
true
)private string liveaddress;
@excel
(name =
"工作位址"
, ordernum =
"11"
,mergevertical =
true
)private string workaddress;
}
第三步:匯出
}第四步:匯入
("/import"
)public
boolean
importexcel
(multipartfile file)
}catch
(exception e)
return
true;}
Easypoi 輕鬆實現複雜excel檔案匯出功能
之前做的excel檔案匯出都相對簡單,用的都是公司自己封裝的一些poi方法,匯出內容都是表頭 一行行的資料,但是這次需要匯出的excel複雜度高了不少,自己用現有方法做比較麻煩,因此引入了easypoi 進行實現。之所以用easypoi我是看中了它可以直接根據現有模板填充資料實現excel生成,而模...
關於EasyPoi匯出Excel
當然了,萬變不離其宗。easypoi的底層原理還是poi。正如mybatis plus的原理還是mybatis那套。只不過它們的共同點是封裝起來。關於easypoi記得初次接觸的時候,給我的感覺是看起來很簡單很容易讓人理解,而且文件也比較豐富,也是jeecg的開源專案下的子專案。記得當初為了提高 開...
使用EasyPoi匯出Excel
excel模板來自自己寫死的乙個excel模板,相當於是使用者查詢資料,資料填充到乙個模板的excel裡,再匯出excel 建立模板 string a request.getsession getservletcontext getrealpath resource 河南能源化工集團安全監控系統聯網...