XLSTransformer+模板 导出 Excel「建议收藏」

XLSTransformer+模板 导出 Excel「建议收藏」java快速导出Excel 利用XLSTransformer+模板

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

利用excel模板来导出excel文件, 十分方便

	@RequestMapping(value = "/download/vin", method = RequestMethod.GET)
	@ResponseBody
	public ResBody exportExcel(HttpServletRequest request) {
		String path = request.getSession().getServletContext().getRealPath("/download/");
		List<Map<String,Object>> list= (List<Map<String, Object>>) testService.findAllVinData(); 
		// 准备好要导出的数据
		File file=null;
		try {
			file = ResourceUtils.getFile("classpath:/conf/testExcel.xlsx");
			// 模板的位置,classpath这个一定要写
		} catch (FileNotFoundException e) {			
			LOGGER.debug("===>找不到模版文件");
			e.printStackTrace();
		}
		return vnDownload(list,file,path);
	}	
public ResBody vnDownload(List<Map<String,Object>> list,File file,String path) {		
		Map<String,Object> beans = new HashMap<String,Object>();  
		beans.put("list",list);
		XLSTransformer transformer = new XLSTransformer();  
	    InputStream in=null;  
	    OutputStream out=null;
		String name ="testExcel" // 文件名自己根据需要设定
		try {  
            in=new BufferedInputStream(new FileInputStream(file));
            out = new FileOutputStream(path+ name);
            Workbook workbook=transformer.transformXLS(in, beans);  
            workbook.write(out);  
            out.flush();  
            return new ResBody(RespCode.CODE_0.getCode(),path+name);
            // 把下载地址返回给前端
        } catch (InvalidFormatException e) {  
            e.printStackTrace();  
        } catch (IOException e) {  
            e.printStackTrace();  
        } finally {  
            if (in!=null){try {in.close();} catch (IOException e) {}}  
            if (out!=null){try {out.close();} catch (IOException e) {}}  
        } 
	    return new ResBody();
		}

这里写图片描述
excel 模板放在这个文件夹下面,模板样子如下
这里写图片描述
把对应单元格的表头写好

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ANDROID 中设计模式的採用–创建型模式[通俗易懂]

    ANDROID 中设计模式的採用–创建型模式

    2022年1月23日
    52
  • 【嵌入式】基于ARM的嵌入式Linux开发总结

    【嵌入式】基于ARM的嵌入式Linux开发总结前言嵌入式知识点复习一嵌入式知识点复习二–体系结构嵌入式知识点复习三–ARM-LINUX嵌入式开发环境嵌入式知识点复习四–arm-linux文件编程嵌入式知识点复习五–arm-linux进程编程嵌入式知识点复习六–arm-linux网络编程嵌入式知识点复习七–linux字符型设备驱动初步嵌入式知识点复习一1、嵌入式系统的一般组成结构2、嵌入式硬件系统的结构(1)…

    2022年6月10日
    37
  • 异步fifo的深度,如何确定?_二叉树的最小深度和最大深度

    异步fifo的深度,如何确定?_二叉树的最小深度和最大深度目录1.异步FIFO最小深度计算1.1异步FIFO最小深度计算原理1.2异步FIFO最小深度常用计算公式1.2.1假如读写FIFO是同时进行的1.2.2读写FIFO不是同时进行的情况2.异步FIFO最小深度计算实例2.1用于SDRAM中的读写FIFO2.2异步时钟数据接口3.FIFO实例1.异步FIFO最小深度计算计算FIF…

    2022年8月13日
    9
  • MFC中使用CreateThread创建线程[通俗易懂]

    MFC中使用CreateThread创建线程[通俗易懂]HANDLEm_hListenThread=CreateThread(NULL,0,ThreadProc,this,0,NULL);DOWRDWINAPIThreadProc(LPVOIDlpParameter){xxxx*pxxx=(xxxx*)lpParameter;while(TRUE){//dosomethingSleep

    2022年7月27日
    4
  • 绕过“请在微信客户端打开链接”如微师下载视频等。

    绕过“请在微信客户端打开链接”如微师下载视频等。UA(UserAgent)的问题。微信内置的浏览器设置了特定的UA,在网页加载时会识别这个UA修改UA:浏览器不同地方不同360浏览器:F2点击右上角”更多工具”-“网络状态”找到下面的用户代理(UserAgent),取消选择Selectautomatically(自动选择),然后在输入框中加入“MicroMessenger”就可以了。goole:我用的是Chrome,其他浏览器也大同小异。在你打开需要的网页链接之前F12打开开发者…

    2022年5月18日
    78
  • epplus word html,EPPlus简介

    epplus word html,EPPlus简介简介:Epplus是一个使用OpenOfficeXML(Xlsx)文件格式,能读写Excel2007/2010文件的开源组件功效:支持对excel文档的汇入汇出,图表(excel自带的图表基本都可以实现)的列印使用:首先应该下载Epplus的dll文件1.添加dll文件至工程bin文件中2.添加引用usingOfficeOpenXml;usingOfficeOpenXml.Drawing…

    2022年6月30日
    46

发表回复

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

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