zoukankan      html  css  js  c++  java
  • 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文件截图:


  • 相关阅读:
    大型运输行业实战_day03_1_基于intellij idea的非maven spring+springMVC+mybatis搭建
    大型运输行业实战_day02_2_数据模型建立
    大型运输行业实战_day02_1_数据库设计与powerDesigner使用
    MySQL 并发控制(锁得使用)
    Oracle 日期减年数、两日期相减
    Oracle 递归拼接字段
    设计模式之适配器模式(结构型)
    设计模式之桥接模式(结构型)
    设计模式之装饰模式(结构型)
    Redis学习笔记之位图
  • 原文地址:https://www.cnblogs.com/yxwkf/p/4086506.html
Copyright © 2011-2022 走看看