XLSTransformer 导出Excel数据[通俗易懂]

XLSTransformer 导出Excel数据[通俗易懂]先上代码:packagecn.export.util;importjava.io.FileInputStream;importjava.net.URLEncoder;importjava.util.HashMap;importjava.util.List;importjava.util.Map;importjavax.servlet.ServletOutp

大家好,又见面了,我是你们的朋友全栈君。

先上代码

java code:

<pre name="code" class="java">package cn.export.util;
import java.io.FileInputStream;
import java.net.URLEncoder;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.sf.jxls.transformer.XLSTransformer;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
/**
 * 导出文件util
 * @author
 */
public class ExportUtil {
	@SuppressWarnings("unchecked")
	public static void exportData(HttpServletRequest req, HttpServletResponse resp, List results,String fileName, 
			String year,String quarter, String filePath) throws Exception{
		FileInputStream fis = null;
		ServletOutputStream os = null;
		XLSTransformer transformer = new XLSTransformer();
		Map params = new HashMap();
		params.put("year", year);
		params.put("quarter", quarter);
		params.put("results", results);
		
		fis = new FileInputStream(filePath);
		resp.addHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8") + ".xls");
		resp.setContentType("application/vnd.ms-excel;charset=gbk");
		resp.setHeader("Location", URLEncoder.encode(fileName,"UTF-8") + ".xls");
		
		HSSFWorkbook wb =  transformer.transformXLS(fis, params);
		os = resp.getOutputStream();
		wb.write(os);
		os.flush();
		os.close();
		fis.close();
	}
}

java code:

package cn.export.com;
import java.io.IOException;
import java.net.URL;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import cn.export.util.ExportUtil;
public class ExportServlet extends HttpServlet{
	
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		this.doPost(req, resp);
	}
	
	@SuppressWarnings("unchecked")
	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp){
		try {
			String fileName = "服装销售统计";
			List results = new ArrayList();
			for(int i = 0; i < 3; i++){
				Map resMap = new HashMap();
				resMap.put("id", i);
				resMap.put("name", "女装"+i);
				resMap.put("area", "广州");
				resMap.put("traffic", "高铁");
				resMap.put("level", "A");
				resMap.put("time", "2014/09/19");
				resMap.put("operator", "张三");
				resMap.put("remark", "销售良好");
				results.add(i, resMap);
			}
			URL url = this.getClass().getClassLoader().getResource("");
			String filePath = url.getPath() + "doc/fz.xls";
			ExportUtil.exportData(req, resp, results, fileName, "2014", "2", filePath);
		} catch (Exception e) {
		}finally{
			try {
			} catch (Exception e) {
			}
		}
	}
}

所需jar包:

XLSTransformer 导出Excel数据[通俗易懂]

所需jar包下载: 点击这里  (该功能单独测试,没有和其他框架整合)

Excel表模板格式:

XLSTransformer 导出Excel数据[通俗易懂]

(注:excel获取数据的方式: ${results.get(“key”)} ,key为上面代码中map的key)


结果显示:

XLSTransformer 导出Excel数据[通俗易懂]

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/163870.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • phpstorm PhpStorm 2021.3.20 激活码 3月最新注册码

    phpstorm PhpStorm 2021.3.20 激活码 3月最新注册码,https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • 在线校验哈希算法_哈希值查询

    在线校验哈希算法_哈希值查询地址http://www.atool9.com/hash.php

  • 整型转字符串c语言_java字符串数组转字符串

    整型转字符串c语言_java字符串数组转字符串整型转字符串实现(C语言)second6020180529#include&lt;stdio.h&gt;//n&lt;2的32次数,所以最大10位//n可能为负数,也可能为正数voidint2str(intn,char*str){charbuf[10]="";inti=0;intlen=0;//temp为n的绝…

    2022年10月19日
  • Python进制转换和补零「建议收藏」

    Python进制转换和补零「建议收藏」1、补零1)字符串python中有一个zfill方法用来给字符串前面补0,非常有用n=”123″s=n.zfill(5)asserts==”00123″zfill()也可以给负数补0n=”-123″s=n.zfill(5)asserts==”-0123″2)数字补零通过格式化的方式来补0n=123s=”%05d”…

  • eclipse配置tomcat安装及配置教程_vbras部署教程

    eclipse配置tomcat安装及配置教程_vbras部署教程想用Tomcat作为服务器,必须分以下两步。首先要配置好JDK的环境变量,再去下载Tomcat的压缩包。下载、安装JDK,并且配置好环境变量1、打开浏览器,输入JDK搜索,根据搜索结果下载安装包安装应用2、先接受协议,再根据自己的电脑下载相应的JDK版本,默认安装就行了。3、配置环境变量。找到安装路径,默认安装的一般都是在这个路径下C:\ProgramFiles\Java\jdk1.8.0_774、然后点击电脑开机键,打开控制面板5、然后点击系统安全,打开进入6、点击系统7、点击“高.

  • 51单片机按键控制步进电机加减速及正反转

    51单片机按键控制步进电机加减速及正反转之前尝试用单片机控制42步进电机正反转,电机连接导轨实现滑台前进后退,在这里分享一下测试程序及接线图,程序部分参考网上找到的,已经实际测试过,可以实现控制功能。所用硬件:步进电机及驱动器、STC89C52单片机、直流电源1、硬件连接图注意:上图为共阳极接法,实际连接参考总体线路连接。 驱动器信号端定义:PUL+:脉冲信号输入正。(C…

发表回复

您的电子邮箱地址不会被公开。

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