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 模板放在这个文件夹下面,模板样子如下
这里写图片描述
把对应单元格的表头写好

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

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

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

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

(0)
blank

相关推荐

  • UPX压缩脱壳「建议收藏」

    UPX压缩脱壳「建议收藏」该方法可针对upx变种,但AndroidLinker的时候不需要section表,所以我们不能修复section表进行SO层代码脱壳1.使用IDA打开libexec.so,在导出函数中找到.init_proc函数(0x39A79),搜索特征码7D2700DF搜索到下面语句2.自己编译一个load程序,然后ida附加.刚好到死跳转处,注意…

  • js回调函数例子_c回调函数简单例子

    js回调函数例子_c回调函数简单例子回调函数每一个异步任务返回一个Promise对象,该对象有一个then方法,允许指定回调函数

    2022年10月31日
  • activexobject java_ActiveXObject[通俗易懂]

    activexobject java_ActiveXObject[通俗易懂]只有IE浏览器才支持这个构造函数,可以用这个来判断,当前是否为IE浏览器varisIE=!!window.ActiveXObject;在IE的不同版本下,要创建XHR对象,也需要通过这个构造函数来创建(构造时的参数不一样)。因为ActiveXObject的使用容易存在安全问题,如IE11中报错Automation服务器不能创建对象解决办法:Internet选项-安全-自定义安全级别-启用“对未…

    2022年10月15日
  • C++语法篇之STL库[通俗易懂]

    C++语法篇之STL库[通俗易懂]STL是StandardTemplateLibrary的缩写,即标准模板库。之前在写Templates模板的时候,提到过STL对于模板的应用。STL是由多个模板类构成,能够为开发者提供通用的数据结构和算法。STL主要包含以下内容:一个简单的vector示例:创建int类型的向量,并实现初始化、赋值和打印操作。输出结果:从上边的例子可以体现出vector的健壮性,vector是一个动态的数组模板,可以在程序运行过程中高效地添加或者删除元素,为程序设计提供了很大的灵活性。最后,关于STL还有很

  • 方格子服务器系统,方格子无盘服务器配置推荐方案[通俗易懂]

    方格子服务器系统,方格子无盘服务器配置推荐方案[通俗易懂]方格子无盘服务器配置推荐方案内容精选换一换虚拟私有云使用限制如表1所示。以上配额说明针对单租户情况。一个网络ACL单方向拥有的规则数量最好不超过20条,否则可能引起网络ACL性能下降。二层网关连接在公测期间默认只能创建1个二层连接网关。默认情况下,一个用户可以创建100个安全组。默认情况下,一个安全组最多只允许拥有50条安全组规则。默认情况下,一个云服务器或扩展网卡建议选择安全组华为云最佳实践,…

  • java 敏感字过滤_Java实现敏感词过滤「建议收藏」

    java 敏感字过滤_Java实现敏感词过滤「建议收藏」系列目录:并发编程模型的分类在并发编程中,我们需要处理两个关键问题:线程之间如何通信及线程之间如何同步(这里的线程是指并发执行的活动实体)。通信是指线程之间以何种机制来交换信息。在命令式编程中,线程之间的通信机制有两种:共享内存和消息传递。在共享内存的并发模型里,线程之间共享程序的公共状态,线程之间通过写-读内存中的公共状态来隐式进行通信。在消息传递的并发模型里,线程之间没有公共状态,线程之间必须…

发表回复

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

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