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


  • 相关阅读:
    Vue使用watch监听一个对象中的属性
    小程序 显示对话框 确定-取消
    【微信小程序】 wx:if 与 hidden(隐藏元素)区别
    vue项目移植tinymce踩坑
    XMLHttpRequest.withCredentials 解决跨域请求头无Cookie的问题
    appJSON["window"]["navigationBarTextStyle"] 字段需为 black 或 white
    Java写 插入 选择 冒泡 快排
    编码表理解
    Centos yum安装java jdk1.8
    Java Hibernate和.Net EntityFramework 如何在提交事务之前 就拿到需要新增实体的Id
  • 原文地址:https://www.cnblogs.com/hrhguanli/p/3929813.html
Copyright © 2011-2022 走看看