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


  • 相关阅读:
    springboot下使用多线程
    springboot 下测试 service中的方法
    maven 将本地jar包 安装到本地仓库
    idea下http响应乱码
    使用vue-element-admin框架时如何添加多级目录
    如何在uniapp中使用mqtt
    在uniapp设计的APP中引入axios,支持cookie(真机亲测可行)
    vue中get方法如何传递数组参数
    Vue跨域访问,axios&cors
    Vue页面间传值,客户端数据存储,以及父子组件间props传值
  • 原文地址:https://www.cnblogs.com/hrhguanli/p/3929813.html
Copyright © 2020-2023  润新知