请选择 进入手机版 | 继续访问电脑版

万邦! 学习论坛

 找回密码
 立即注册
搜索
查看: 5276|回复: 0

jxls使用模板生成excel文件

[复制链接]
发表于 2018-6-11 09:20:21 | 显示全部楼层 |阅读模式

原文: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




  • /**
  • * 水果类
  • */  
  • public class Fruit {   
  •     private String name; // 水果名称  
  •     private float price; // 水果价格  
  •     public Fruit() {  
  •     }  
  •   
  •     public Fruit(String name, float price) {  
  •         this.name = name;  
  •         this.price = price;  
  •     }  
  •   
  •     public String getName() {  
  •         return name;  
  •     }  
  •   
  •     public void setName(String name) {  
  •         this.name = name;  
  •     }  
  •   
  •     public float getPrice() {  
  •         return price;  
  •     }  
  •   
  •     public void setPrice(float price) {  
  •         this.price = price;  
  •     }  
  • }  

② 核心工具类

[java] view plain copy




  • /**
  • * Excel生成类.
  • */  
  • public class ExcelUtil {  
  •     /**
  •      * 根据模板生成Excel文件.
  •      * @param templateFileName 模板文件.
  •      * @param list 模板中存放的数据.
  •      * @param resultFileName 生成的文件.
  •      */  
  •     public void createExcel(String templateFileName, List<?> list, String resultFileName){  
  •         try {   
  •             //创建XLSTransformer对象  
  •             XLSTransformer transformer = new XLSTransformer();  
  •               
  •             //获取java项目编译后根路径  
  •             URL url = this.getClass().getClassLoader().getResource("");  
  •               
  •             //得到模板文件路径  
  •             String srcFilePath = url.getPath() + templateFileName;  
  •             Map<String,Object> map = new HashMap<String,Object>();   
  •             map.put("list", list);  
  •             String destFilePath = url.getPath() + resultFileName;  
  •               
  •             //生成Excel文件  
  •             transformer.transformXLS(srcFilePath, map, destFilePath);  
  •         } catch (Exception e) {  
  •             throw new RuntimeException("error happens...", e);  
  •         }  
  •     }  
  • }  

③ 测试类

[java] view plain copy




  • /**
  • * 测试类.
  • */  
  • public class Client {   
  •     public static void main(String[] args) {  
  •         List<Fruit> list = new ArrayList<Fruit>();  
  •         list.add(new Fruit("苹果",20.0f));  
  •         list.add(new Fruit("桔子",30.0f));  
  •         String templateFileName = "template.xlsx";  
  •         String resultFileName = "result.xlsx";  
  •         new ExcelUtil().createExcel(templateFileName,list,resultFileName);  
  •     }  
  • }  


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





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


---------------------------------华丽的分界线-------------------------------
北京万邦易嵌科技有限公司(www.wanbangee.com)专业提供单片机、M3/M4linuxAndroidQT技术服务、技术培训。
详细咨询请加QQ:715493858

QQ|Archiver|手机版|小黑屋|万邦易嵌学习论坛. ( 京ICP备17017219号 )

GMT+8, 2020-4-2 05:22

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表