這篇文章給大家分享的是有關(guān)JXLS如何根據(jù)模板導(dǎo)出Excel的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
我們提供的服務(wù)有:網(wǎng)站建設(shè)、網(wǎng)站制作、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、咸豐ssl等。為千余家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的咸豐網(wǎng)站制作公司
先做模板,做成想要的格式樣子保存,然后通過程序根據(jù)模板生成對應(yīng)樣式的Excel文件,代碼簡單。什么連接數(shù)據(jù)庫查詢?nèi)缓髮⒔Y(jié)果生成Excel文件就不講了,放入List里面,然后套一下就行了,照老虎花貓。
準(zhǔn)備:
1、相關(guān)jar包:
2、模板文件 :
開始:
1、 先實(shí)體類:Staff.java
package myjxls; /** * 2014-3-17 * 8dou * 實(shí)體 */ public class Staff { /** * 名稱 */ private String name; /** * 薪資 */ private Double payment; /** * 年終獎 */ private Double bonus; public String getName() { return name; } public void setName(String name) { this.name = name; } public Double getPayment() { return payment; } public void setPayment(Double payment) { this.payment = payment; } public Double getBonus() { return bonus; } public void setBonus(Double bonus) { this.bonus = bonus; } public Staff(String name, Double payment, Double bonus) { super(); this.name = name; this.payment = payment; this.bonus = bonus; } }
2、測試類 ChartTest.java
package myjxls; /** * 2014-3-17 * 8dou * 測試JXLS根據(jù)模板樣式導(dǎo)出Excel */ import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import net.sf.jxls.transformer.XLSTransformer; public class ChartTest { /** * @param args */ public static void main(String[] args) throws Exception { Liststaffs = new ArrayList (); Staff s1 = new Staff("張三", 6000D, 3000D); staffs.add(s1); Staff s2 = new Staff("李四", 5000D, 2000D); staffs.add(s2); Staff s3 = new Staff("王五", 4000D, 1000D); staffs.add(s3); String srcFilePath = "e:/simple.xlsx"; String destFilePath = "e:/template-simple.xlsx"; Map > beanParams = new HashMap >(); beanParams.put("staffs", staffs); XLSTransformer former = new XLSTransformer(); former.transformXLS(srcFilePath, beanParams, destFilePath); System.out.println("the end !!!"); } }
運(yùn)行結(jié)束后看生成的Excel文件,template-simple.xlsx
如果是Web,需要下載可以看
// 下載 public static void doDownLoad(String path, String name, HttpServletResponse response) { try { response.reset(); response.setHeader("Content-disposition", "attachment;success=true;filename =" + URLEncoder.encode(name, "utf-8")); BufferedInputStream bis = null; BufferedOutputStream bos = null; OutputStream fos = null; InputStream fis = null; File uploadFile = new File(path); fis = new FileInputStream(uploadFile); bis = new BufferedInputStream(fis); fos = response.getOutputStream(); bos = new BufferedOutputStream(fos); // 彈出下載對話框 int bytesRead = 0; byte[] buffer = new byte[8192]; while ((bytesRead = bis.read(buffer, 0, 8192)) != -1) { bos.write(buffer, 0, bytesRead); } bos.flush(); fis.close(); bis.close(); fos.close(); bos.close(); } catch (Exception e) { e.printStackTrace(); } }
最后補(bǔ)充下Excel知識:在單元格里面將日期和時間顯示在同一個單元格里面,自定義單元格式→yyyy-m-d hh:mm:ss
感謝各位的閱讀!關(guān)于“JXLS如何根據(jù)模板導(dǎo)出Excel”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!