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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pytest-allure_苹果11验机报告

    pytest-allure_苹果11验机报告前言allure是一个report框架,支持java的Junit/testng等框架,当然也可以支持python的pytest框架,也可以集成到Jenkins上展示高大上的报告界面。mac环境:

    2022年7月29日
  • PyCharm 必备插件合集(更新中)

    PyCharm 必备插件合集(更新中)PyCharm的插件很好用,能够在写代码时加成很多。下面看一下目前我用的一些插件。1..ignore我们做的每个Git项目中都需要一个“.gitignore”文件,这个文件的作用就是告诉Git哪些文件不需要添加到版本管理中。插件使用:https://www.jianshu.com/p/bf1bfa0890e82.BashSupportbash-support是一个高度定制化的vim插件,它允许你插入:文件头、补全语句、注释、函数、以及代码块。它也使你可以进行语法检查、使.

    2022年6月24日
  • 《linux c 编程实战 》 -我的纠错笔记

    《linux c 编程实战 》 -我的纠错笔记

    2021年9月3日
  • 完美解决Spring@Autowired无法注入AbstractInterceptor

    完美解决Spring@Autowired无法注入AbstractInterceptor今天在使用AbstractInterceptor拦截时,发现Spring@Autowired无法注入,返回结果为null。捣腾了下,手动配置了下,完美解决。直接上图首先建立一个获取工厂的帮助类:在application配置文件配置我们要用的bean:配置好后,直接调用:好了,该写下一个bug了。。。。。。…

    2022年5月14日
  • 如何写软件项目技术标

    如何写软件项目技术标技术标作为一个初期评价软件供应商的重要标准之一,需要覆盖多方面的考虑因素,从需求的理解,到系统的设计,到项目的实施与管理,以及项目的验收与后期支持。那么我们如何来编写一个完整的技术标呢?第一,项目概述   项目情况的一个综合介绍,这是一个综述,通过这个综述说明项目的背景

    2022年5月11日
  • 数据结构学习

    数据结构学习

    2021年9月27日

发表回复

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

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