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

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

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

全栈程序员社区此处内容已经被作者隐藏,请输入验证码查看内容
验证码:
请关注本站微信公众号,回复“验证码”,获取验证码。在微信里搜索“全栈程序员社区”或者“www_javaforall_cn”或者微信扫描右侧二维码都可以关注本站微信公众号。

项目结构图:

项目中所用到的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文件简单演示样例

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

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

(0)
上一篇 2021年12月14日 下午6:00
下一篇 2021年12月14日 下午6:00


相关推荐

  • ssl原理及应用_ssl的理解

    ssl原理及应用_ssl的理解今天学习网络通信,看到使用ssl(SecureSocketsLayer)进行加密,由于对ssl只是有些概念上的了解,对于具体应用原理、过程和如何使用不慎了解,于是学习了一番,总结如下:1.为什么要使用ssl?确保数据传输的安全性2.用ssl加密传输的实际过程?建立连接时使用非对称加密,而连接完成后在传输数据时使用对称加密(速度快)3.ssl加密方式?有两种方式:单

    2025年6月13日
    6
  • 环境搭建 | Mac 环境变量配置

    环境搭建 | Mac 环境变量配置Mac环境变量配置mac一般使用bash作为默认shell,如果安装了ohmysh,则默认使用zshshell。Mac系统环境变量的加载顺序:/etc/profile/etc/paths~/.bash_profile~/.bash_login~/.profile~/.bashrc/etc/profile和/etc/paths是系统级别的,系统启动后就会…

    2022年6月17日
    26
  • cursor开发产品基础流程,不需要看代码(附提示词)

    cursor开发产品基础流程,不需要看代码(附提示词)

    2026年3月16日
    4
  • kali linux暴力破解wifi密码

    前期需要将kali安装好,并且有无线网卡(注意kali支持芯片为3070和1887L的网卡)打开kali,打开终端,使用命令ifconfig查看网卡信息,若有wlan0表示网卡连接成功![在这里插入图片描述](https://img-blog.csdnimg.cn/20200530193911516.png开启网卡监听模式airmon-ngstartwlan0iwconfig,网卡名为wlan0mon,说明开启成功airodump-ngwlan0mon扫描WiFi,按

    2022年4月13日
    82
  • 使用阻塞队列实现线程同步_线程可以并行执行吗

    使用阻塞队列实现线程同步_线程可以并行执行吗一、串行,并行,并发1.名称解释串行:程序按顺序执行,同一时间只能执行一个程序,前一个执行完毕后才轮到后一个并行:多个程序可以同时执行,宏观和微观上看程序都是同时执行并发:同一时刻只有一条程序

    2022年8月16日
    17
  • Oracle中SQL*plus常用命令

    Oracle中SQL*plus常用命令目录 1SQL plus 工具 1 1oracle 自带的工具 1 2cmd 命令 2SET 命令概述 2 1 使用 SET 命令设置运行环境 2 1 1PAGESIZE 变量 2 1 2NEWPAGE 变量 2 1 3LINESIZE 变量 2 1 4PAUSE 变量 2 1 5NUMFORMAT 变量 3SQL plus 的常用命令 3 1HELP 命令 3 2DESCRIBE 命令 3 3SPOOL 命令 3 4DEFINE 命令 3 5SHOW

    2026年3月18日
    2

发表回复

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

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