XLSTransformer生成excel文件简单示例

XLSTransformer生成excel文件简单示例项目结构图:项目中所用到的jar,可以到http://www.findjar.com/index.x下载ExcelUtil类源码:[java]viewplaincopypackage util;    import java.io.IOException;  import java.net.URL;  import java.util.Has

大家好,又见面了,我是你们的朋友全栈君。

项目结构图:

项目中所用到的jar,可以到http://www.findjar.com/index.x下载

XLSTransformer生成excel文件简单示例

ExcelUtil类源码:

  1. package util;  
  2.   
  3. import java.io.IOException;  
  4. import java.net.URL;  
  5. import java.util.HashMap;  
  6. import java.util.List;  
  7. import java.util.Map;  
  8.   
  9. import net.sf.jxls.exception.ParsePropertyException;  
  10. import net.sf.jxls.transformer.XLSTransformer;  
  11. /** 
  12.  * Excel生成类. 
  13.  */  
  14. public class ExcelUtil {  
  15.     /** 
  16.      * 根据模板生成Excel文件. 
  17.      * @param templateFileName 模板文件. 
  18.      * @param list 模板中存放的数据. 
  19.      * @param resultFileName 生成的文件. 
  20.      */  
  21.     public void createExcel(String templateFileName, List<?> list, String resultFileName){  
  22.         //创建XLSTransformer对象  
  23.         XLSTransformer transformer = new XLSTransformer();  
  24.         //获取java项目编译后根路径  
  25.         URL url = this.getClass().getClassLoader().getResource(“”);  
  26.         //得到模板文件路径  
  27.         String srcFilePath = url.getPath() + templateFileName;  
  28.         Map<String,Object> beanParams = new HashMap<String,Object>();  
  29.         beanParams.put(“list”, list);  
  30.         String destFilePath = url.getPath() + resultFileName;  
  31.         try {  
  32.             //生成Excel文件  
  33.             transformer.transformXLS(srcFilePath, beanParams, destFilePath);  
  34.         } catch (ParsePropertyException e) {  
  35.             e.printStackTrace();  
  36.         } catch (IOException e) {  
  37.             e.printStackTrace();  
  38.         }  
  39.     }  
  40.   
  41. }  

Test类源码:

  1. package test;  
  2.   
  3. import java.util.ArrayList;  
  4. import java.util.List;  
  5.   
  6. import po.Fruit;  
  7. import util.ExcelUtil;  
  8. /** 
  9.  * 测试类. 
  10.  */  
  11. public class Test {  
  12.   
  13.     public static void main(String[] args) {  
  14.         List<Fruit> list = new ArrayList<Fruit>();  
  15.         list.add(new Fruit(“苹果”,2.01f));  
  16.         list.add(new Fruit(“桔子”,2.05f));  
  17.         String templateFileName = “template/template.xls”;  
  18.         String resultFileName = “result/fruit.xls”;  
  19.         new ExcelUtil().createExcel(templateFileName,list,resultFileName);  
  20.   
  21.     }  
  22.   
  23. }  

template.xls模板文件截图:

XLSTransformer生成excel文件简单示例

注意:如果你是用的office 2007生成的excel模板,要另存为97-2003版本的。

Fruit类源码:

  1. package po;  
  2. /** 
  3.  * 水果. 
  4.  */  
  5. public class Fruit {  
  6.     /** 
  7.      * 水果名称. 
  8.      */  
  9.     private String name;  
  10.     /** 
  11.      * 水果价格. 
  12.      */  
  13.     private float price;  
  14.       
  15.       
  16.     public Fruit() {  
  17.         super();  
  18.     }  
  19.       
  20.     public Fruit(String name, float price) {  
  21.         super();  
  22.         this.name = name;  
  23.         this.price = price;  
  24.     }  
  25.     public String getName() {  
  26.         return name;  
  27.     }  
  28.     public void setName(String name) {  
  29.         this.name = name;  
  30.     }  
  31.     public float getPrice() {  
  32.         return price;  
  33.     }  
  34.     public void setPrice(float price) {  
  35.         this.price = price;  
  36.     }  
  37.       
  38. }  

生成fruit.xls文件截图:

XLSTransformer生成excel文件简单示例

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/163868.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • android textwatcher 获取当前控件,android api解析之TextWatcher

    开发android有几年了,但是从来没有整理过,一直是写写写.从今天起开始慢慢整理,总结之处如有错误请指出,谢谢TextWatcher在什么时候会被调用?TextWatcher在edittext内容发生变化时会被调用TextWatcher一共有三个方法beforeTextChanged(CharSequences,intstart,intcount,intafter)在文本变化前调用…

    2022年4月7日
    58
  • 大数据:数据采集平台之Apache Flume

    大数据:数据采集平台之Apache Flume大数据:数据采集平台之ApacheFlume官网:https://flume.apache.org/Flume是Apache旗下的一款开源、高可靠、高扩展、容易管理、支持客户扩展的数据采集系统。Flume使用JRuby来构建,所以依赖Java运行环境。Flume最初是由Cloudera的工程师设计用于合并日志数据的系统,后来逐渐发展用于处理流数据事件。Flume设计成一个分布式…

    2022年6月10日
    43
  • ipv6修改DNS服务-首选DNS服务器:240c::6666「建议收藏」

    ipv6修改DNS服务-首选DNS服务器:240c::6666「建议收藏」下一代互联网国家工程中心推出的IPv6DNS服务首选DNS服务器:240c::6666备用DNS服务器:240c::6644来自下一代互联网国家工程中心官网消息显示,日前,下一代互联网国家工程中心正式宣布推出IPv6公共DNS:240c::6666。通过免费提供性能优异的公共DNS服务,为广大IPv6互联网用户打造安全、稳定、高速、智能的上网体验,助力我国…

    2022年6月2日
    137
  • 【计算机网络(微课版)】第3章 数据链路层 课后习题及答案

    【计算机网络(微课版)】第3章 数据链路层 课后习题及答案3-1数据链路(即逻辑链路)与链路(即物理链路)有何区别?“电路接通了”与“数据链路接通了”的区别何在?(1)数据链路与链路的区别在于——数据链路除链路外,还必须有一些必要的规程来控制数据的传输。因此,数据链路比链路多了实现通信规程所需要的硬件和软件。(2)“电路接通了”表示链路两端的结点交换机已经开机,物理连接已经能够传送比特流了。但是,数据传输并不可靠。在物理连接…

    2022年7月21日
    13
  • 如何把内网IP映射到公网IP

    如何把内网IP映射到公网IP 鸽子出品2017-12-0522:28:22我们讲了如何搭建网站,可是有很多小伙伴私信跟我说怎么映射,今天我就教大家如何把内网地址映射到公网!我们所需要的工具有: 内网IP(这个是品,也是必有的!) nat123(这是映射软件,百度上都能搜索到) 有些小伙伴会问: 这个软件是什么操作系统啊? 这个软件免费吗? 当然官网上有windows版…

    2022年5月18日
    123
  • PHP结合Ueditor并修改图片上传路径

    PHP结合Ueditor并修改图片上传路径

    2021年9月18日
    39

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号