• XLSTransformer生成excel文件简单演示样例


    项目结构图:

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


    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模板文件截图:

    注意:假设你是用的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文件截图:


  • 相关阅读:
    【web charting】21个Javascript图表插件程序
    【IOC框架】分析与理解
    【待续】【HTML5】用Canvas标签创建第一张条线图
    【转】大型网站后台架构的演变
    初探Visual C# SQL CLR Database Project
    Js中 关于top、clientTop、scrollTop、offsetTop
    JS的正则表达式
    jquery的extend和fn.extend
    C/C++版数据结构之链表<三>
    C/C++ 一点笔记(2)
  • 原文地址:https://www.cnblogs.com/yxwkf/p/4086506.html
Copyright © 2020-2023  润新知