請注意,一下內容均基於1.x版本,2.x版本將另開隨筆記錄
一、概述
JXLS是基於Jakarta POI API的Excel報表生成工具,可以生成精美的Excel格式報表。它采用標簽的方式,類似JSP標簽,寫一個Excel模板,然后生成報表,非常靈活,簡單!
官網:http://jxls.sourceforge.net/1.x/ ——(1.x)的版本
入門參考請參見:http://blog.csdn.net/geloin/article/details/17242523
二、HelloWorld入門
安裝jxls
使用maven構建項目,只需引入核心依賴:
<!-- https://mvnrepository.com/artifact/net.sf.jxls/jxls-core -->
<dependency>
<groupId>net.sf.jxls</groupId>
<artifactId>jxls-core</artifactId>
<version>${jxls.version}</version>
</dependency>
此處未使用最新版本:
<jxls.version>1.0.5</jxls.version>
創建基礎模板
jxls使用的是和jstl非常類似的表達式,HelloWorld使用的模板如下:
1.這里使用的是forEach遍歷(與c標簽基本一致)
2.這里請注意,第一行遍歷的代碼處請勿合並單元格!(已踩坑,合並將會導致生成失敗的文件)
后台代碼
//測試excel導出
@RequestMapping("/export") public void testExport() throws ParsePropertyException, InvalidFormatException, IOException{ String tplPath = "F:/tamp.xlsx"; String destPath = "F:/export.xlsx"; List<receiver> reclist = reSe.findall(); Map<String, List<receiver>> beanParams = new HashMap<String, List<receiver>>(); beanParams.put("reclist", reclist); XLSTransformer former = new XLSTransformer(); former.transformXLS(tplPath, beanParams, destPath); }
//這里由於測試命名不規范,實體類的命名等實際操作時請使用首字母大寫的命名方式
實體類比較簡單(繼承的屬性不再列出):
執行效果:
//測試數據,待規范
這樣,第一個版本的HelloWorld的就完成了!
【更新】:1.x中若想顯示時間格式,直接在單元格處設置時間樣式即可:
實例: