XLSTransformer生成excel文件案例

XLSTransformer生成excel文件案例项目结构图:项目中所用到的jar,可以到http://www.findjar.com/index.x下载ExcelUtil类源码:packageutil;importjava.io.IOException;importjava.net.URL;importjava.util.HashMap;importjava.uti

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

项目结构图:

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

XLSTransformer生成excel文件案例

ExcelUtil类源码:

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

Test类源码:

package test;  
  
import java.util.ArrayList;  
import java.util.List;  
  
import po.Fruit;  
import util.ExcelUtil;  
/** 
 * 测试类. 
 */  
public class Test {  
  
    public static void main(String[] args) {  
        List<Fruit> list = new ArrayList<Fruit>();  
        list.add(new Fruit("苹果",2.01f));  
        list.add(new Fruit("桔子",2.05f));  
        String templateFileName = "template/template.xls";  
        String resultFileName = "result/fruit.xls";  
        new ExcelUtil().createExcel(templateFileName,list,resultFileName);  
  
    }  
  
} 


template.xls模板文件截图:

XLSTransformer生成excel文件案例

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

Fruit类源码:

package po;  
/** 
 * 水果. 
 */  
public class Fruit {  
    /** 
     * 水果名称. 
     */  
    private String name;  
    /** 
     * 水果价格. 
     */  
    private float price;  
      
      
    public Fruit() {  
        super();  
    }  
      
    public Fruit(String name, float price) {  
        super();  
        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;  
    }  
      
}  


生成fruit.xls文件截图:

XLSTransformer生成excel文件案例

本文转载于http://blog.csdn.net/csdnbenbenchong/article/details/7085124

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

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

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


相关推荐

  • 深度学习——SPPNet原理[通俗易懂]

    深度学习——SPPNet原理[通俗易懂]从R-CNN到FastR-CNN,有必要了解下SPPNet,其全称为SpatialPyramidPoolingConvolutionalNetworks(空间金字塔池化卷积网络)。它将CNN的输入从固定尺寸改进为任意尺寸,例如在CNN结构中,输入图像的尺寸往往固定的(如224×224像素),输出可看做固定维数的向量。SPPNet在普通的CNN结构中加入了ROI池化层(ROIPo…

    2022年6月11日
    41
  • nuget无法下载_百度云下载慢的最佳解决办法

    nuget无法下载_百度云下载慢的最佳解决办法解决NuGet下载太慢的问题

    2022年4月22日
    230
  • java集合超详解

    java集合超详解一、集合大纲1.集合和数组的区别:2.Collection集合的方法:3.常用集合的分类:Collection接口的接口对象的集合(单列集合)├——-List接口:元素按进入先后有序保存,可重复│—————-├LinkedList接口实现类,链表,插入删除,没有同步,线程不安全│—————-├ArrayList接口…

    2022年6月7日
    29
  • mapreduce编程初探[通俗易懂]

    mapreduce编程初探[通俗易懂]1.map和reduce1.1mapReduce处理逻辑在本系列文章的第一篇中,曾对MapReduce原理做过简单的描述,在这里再重述一遍。 首先我们有两个文件word1.txt和word2.txt 其中word1.txt的内容如下:aaaabbbbccccddddaaaaword2.txt的内容如下:aaaaccccddddeeeeaaaa这…

    2022年6月29日
    27
  • 【SpringBoot】25、SpringBoot中使用Quartz管理定时任务

    【SpringBoot】25、SpringBoot中使用Quartz管理定时任务定时任务在系统中用到的地方很多,例如每晚凌晨的数据备份,每小时获取第三方平台的Token信息等等,之前我们都是在项目中规定这个定时任务什么时候启动,到时间了便会自己启动,那么我们想要停止这个定时任务的时候,就需要去改动代码,还得启停服务器,这是非常不友好的事情直至遇见Quartz,利用图形界面可视化管理定时任务,使得我们对定时任务的管理更加方便,快捷一、Quartz简介Quartz是一个开源的作业调度框架,它完全由Java写成,并设计用于J2SE和J2EE应用中。它提供了巨大的灵活性而不牺牲

    2025年8月20日
    3

发表回复

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

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