JXL實現excel匯出案例(分sheet頁)

2021-07-31 14:57:26 字數 4623 閱讀 1274

原來專案中也是有匯出的方法,自己覺得不太滿意,就自己重新寫了乙個公用方法。這種類似的方法很多,這裡只是自己的乙個案例。

對於匯出,應該有的引數是 要匯出的字段、資料列表以、excel的表頭及檔名。這裡主要實現了分sheet頁匯出。

先看看**吧: action中確定了匯出的引數及查詢好了資料列表,直接呼叫excelexport方法,捕獲相關異常即可,不需要多餘的操作。

/**

* jxl匯出excel方法

*

@author

鞏浩 2016-7-7 下午2:17:47

*

@param

filename 檔名

*

@param

heads 欄位名稱(例:)

*

@param

headsstr 字段(例:)

*

@param

datalist 資料列表

*/

@suppresswarnings

("rawtypes"

)

public

static

void

excelexport

(string

filename

,string

heads

,string

headsstr

,list

datalist

)throws

exception

else

}

book

.write

();

}catch

(exceptione)

finally

if(

os!=

null

)

}

}

createworkbookwithstyle方法:這裡只是給表頭欄位加紅,這個方法只是用了簡單的樣式writablefont,更多的大家可以自己去研究研究,講道理匯出檔案沒必要那麼花哨。

/**

* 根據資料列表及引數輸出工作薄

*

@author

鞏浩 2016-7-7 下午2:32:38

*

@param

os 輸出流

*

@param

datalist 資料列表

*

@param

heads 欄位名稱

*

@param

headsstr 字段

*

@throws

ioexception

*

@throws

writeexception

*

@throws

row***ceededexception

*

@throws

nosuchmethodexception

*

@throws

invocationtargetexception

*

@throws

illegalacces***ception

*/

@suppresswarnings

("rawtypes"

)

public

static

writableworkbook

createworkbookwithstyle

(outputstreamos,

list

datalist

,string

heads

,string

headsstr

)throws

ioexception

,row***ceededexception

,writeexception

,illegalacces***ception

,invocationtargetexception

,nosuchmethodexception

intsheetsize

=1000

;

intloopsize

=sizeloop

/sheetsize

;

if(

sizeloop

%sheetsize!=0

)

//設定樣式

writablefont

wf_head

=new

writablefont

(writablefont

.arial,11

,writablefont

.bold

,false

,underlinestyle

.no_underline

,jxl

.format

.colour

.red

);// 定義格式 字型 下劃線 斜體 粗體 顏色

writablefont

wf_table

=new

writablefont

(writablefont

.arial,10

,writablefont

.no_bold

,false

,underlinestyle

.no_underline

,jxl

.format

.colour

.black

);// 定義格式 字型 下劃線 斜體 粗體 顏色

writablecellformat

wcf_head

=new

writablecellformat

(wf_head

);// 單元格定義

wcf_head

.setalignment

(jxl

.format

.alignment

.centre

);// 設定對齊方式

writablecellformat

wcf_table

=new

writablecellformat

(wf_table

);

//建立乙個工作薄

writableworkbook

ws =

workbook

.createworkbook(os

);

//分別往每個sheet頁寫資料

for(

intl =0

;l<

loopsize;l

++)

//迴圈讀取資料列表

intn =1

;

for(

inti=l

*sheetsize;i

<(l+

1)*sheetsize &&i

<=

size-1

;i++)

}

n

++;

}

}

return

ws;

}

jxl匯入匯出Excel

excel的匯入匯出在專案中經常用到,比較常用的解析架包是jxl和poi。這裡首先介紹jxl是如何實現的。匯入excel 通過本地檔案得到乙個輸入流,然後根據excel的結構來解析資料。匯出excel 宣告乙個輸出流物件,根據引數來得到乙個workbook,用來寫入資料的。然後根據excel表的結構...

jxl匯入 匯出excel

1 jxl匯入 匯出excel案例,黏貼即可執行package junit.test import j a.io.file import j a.io.ioexception import j a.util.arraylist import j a.util.list import jxl.cell...

jxl模板式excel匯出

1.頁面呼叫js function function exportallpage url catch filenotfoundexception e catch exception e catch exception e e.printstacktrace return filepath 獲取系統配...