easypoi實現excel的匯出 匯入

2021-10-04 04:47:31 字數 3849 閱讀 9169

我之前一直用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 河南能源化工集團安全監控系統聯網...