QQ在线咨询
售前咨询热线
15821572819
售后咨询热线
15821572819

jxls使用模板生成excel文件


原文:http://blog.csdn.net/zdp072/article/details/30310473

一. 简述

Jxls是基于Jakarta POI AIP的Excel报表生成工具, 可以生成自定义模板的Excel报表, 它采用类似于JSP标签的方式定义Excel模板, 非常简单.

为什么不用POI? 因为POI通常要求我们在Java代码中进行样式和字体的设计.



二. 标签

1. <jx:forEach items="${ ? }" var=" ? "> </jx:forEach>  : 用于迭代, 属性有2个, 一个是items, 一个是var, 类似jstl

2. <jx:if test="${ ? }" > </jx:if> :  用于逻辑判断, 有一个属性test, 类似jstl

3. $[sum(position)] :  求和

4. $[min(position)] :  求最大值

5. $[max(position)] :  求最小值

6. $[average(position)] :  求平均值

7. $[count(position)] :  求数量



三. 实例

1. 工程图及所需Jar



2. 代码展示

① 实体Bean

[java] view plain copy 在CODE上查看代码片派生到我的代码片

  1. /** 

  2.  * 水果类 

  3.  */  

  4. public class Fruit {   

  5.     private String name; // 水果名称  

  6.     private float price; // 水果价格  

  7.     public Fruit() {  

  8.     }  

  9.   

  10.     public Fruit(String name, float price) {  

  11.         this.name = name;  

  12.         this.price = price;  

  13.     }  

  14.   

  15.     public String getName() {  

  16.         return name;  

  17.     }  

  18.   

  19.     public void setName(String name) {  

  20.         this.name = name;  

  21.     }  

  22.   

  23.     public float getPrice() {  

  24.         return price;  

  25.     }  

  26.   

  27.     public void setPrice(float price) {  

  28.         this.price = price;  

  29.     }  

  30. }  

② 核心工具类


[java] view plain copy 在CODE上查看代码片派生到我的代码片

  1. /** 

  2.  * Excel生成类. 

  3.  */  

  4. public class ExcelUtil {  

  5.     /** 

  6.      * 根据模板生成Excel文件. 

  7.      * @param templateFileName 模板文件. 

  8.      * @param list 模板中存放的数据. 

  9.      * @param resultFileName 生成的文件. 

  10.      */  

  11.     public void createExcel(String templateFileName, List<?> list, String resultFileName){  

  12.         try {   

  13.             //创建XLSTransformer对象  

  14.             XLSTransformer transformer = new XLSTransformer();  

  15.               

  16.             //获取java项目编译后根路径  

  17.             URL url = this.getClass().getClassLoader().getResource("");  

  18.               

  19.             //得到模板文件路径  

  20.             String srcFilePath = url.getPath() + templateFileName;  

  21.             Map<String,Object> map = new HashMap<String,Object>();   

  22.             map.put("list", list);  

  23.             String destFilePath = url.getPath() + resultFileName;  

  24.               

  25.             //生成Excel文件  

  26.             transformer.transformXLS(srcFilePath, map, destFilePath);  

  27.         } catch (Exception e) {  

  28.             throw new RuntimeException("error happens...", e);  

  29.         }  

  30.     }  

  31. }  

③ 测试类


[java] view plain copy 在CODE上查看代码片派生到我的代码片

  1. /** 

  2.  * 测试类. 

  3.  */  

  4. public class Client {   

  5.     public static void main(String[] args) {  

  6.         List<Fruit> list = new ArrayList<Fruit>();  

  7.         list.add(new Fruit("苹果",20.0f));  

  8.         list.add(new Fruit("桔子",30.0f));  

  9.         String templateFileName = "template.xlsx";  

  10.         String resultFileName = "result.xlsx";  

  11.         new ExcelUtil().createExcel(templateFileName,list,resultFileName);  

  12.     }  

  13. }  


3. excel模板文件和生成文件





4. 下载源码请猛击这里: http://download.csdn.net/detail/zdp072/7490803




注:本文转载自csdn,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如有侵权行为,请联系我们,我们会及时删除。
上一篇 下一篇

分享