JAVA匯出EXCEL心得

2021-06-27 08:50:43 字數 1527 閱讀 6121

一、poi

對於poi而言,可以說是匯出excel的基礎,其他的第三方工具都是在其基礎上做的封裝,但是可操作性上由於要逐行逐列的進行操作,所以可操作性上來說比較繁瑣,個人不推薦使用。

二、jxl

jxl豐富了許多的函式來解決poi操作性上的缺陷,但其效能方面值得商榷,下面對jxl在解決複雜報表中遇到的問題進行剖析, 

1、實現不同excel間sheet的拷貝

問題背景:某集團有五十個成員單位,先要求一次性匯出所有成員單位的資訊到乙個excel中,即此excel中含有五十個sheet頁籤

解決思路:首先,使用迴圈,將每個成員單位的資訊逐個匯出,然後將這些單個的excel彙總到最後的彙總excel中

//匯出多個sheet的excel(不同模板)

public cm***ception exportmoresheetexcel(string templatepath,string srcpath,string targetpath,string sheetname,map map) catch (biffexception e) catch (writeexception e)

} catch (parsepropertyexception e1) catch (ioexception e1)

return excption;

}//匯出某成員單位資訊的單個excel

public void exportonlymemberexcel(string templatepath,string exportpath,map map) throws parsepropertyexception, ioexception

//不同excel檔案中sheet之間的拷貝

public void copysheet(string srcpath,string targetpath,string sheetname) throws ioexception, biffexception, writeexception

2、一次性匯出所有sheet(必須要有相同模板)

//一次性匯出所有sheet頁(有相同模板)

public cm***ception transformxlsfile(list resultlist,string templatepath,string exportpath,list sheetnames)catch (filenotfoundexception e)

for(int i = 0;i < (int)math.ceil((double)resultlist.size()/200);i++)else

} trycatch(ioexception e)

}try catch (ioexception e)

return exception;}

3、sheet名稱亂碼問題

以下**可解決亂碼問題:

workbook.setsheetname(k, workbook.getsheetname(k), hssfworkbook.encoding_utf_16);

以上就是本人小小的一點心得,希望大家多多交流,謝謝~~

java封裝匯出Excel

number labelnf null label label null datetime labeldtf null try else else else if new integer datatypes j 2 catch exception e catch exception e workbo...

java實現Excel匯出

最近在做乙個專案,其中有部分是關於匯出excel,之前去的公司匯出excel都是已經封裝好了的,現在從頭開始寫。用的是比較常用的poi,廢話不多說。用的框架是ssh,poi的版本是3.17,poi 3.17.jar 功能介紹 匯出查詢結果的報表,如下圖為資料庫隨便填的資料,在頁面上做查詢,從頁面上匯...

java資料excel匯出

第一步 先重資料庫查詢出所需要的資料字段內容 第二步 上面那個方法呼叫了excel匯出工具方法 public int outexcel string path,string headertitle,list datalist else if path.endswith xlsx else 第二步,在...