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

December 17, 2023
测试
测试
测试
测试
4 分钟阅读

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

利用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.cn/163865.html原文链接:https://javaforall.cn

继续阅读

更多来自我们博客的帖子

如何安装 BuddyPress
由 测试 December 17, 2023
经过差不多一年的开发,BuddyPress 这个基于 WordPress Mu 的 SNS 插件正式版终于发布了。BuddyPress...
阅读更多
Filter如何工作
由 测试 December 17, 2023
在 web.xml...
阅读更多
如何理解CGAffineTransform
由 测试 December 17, 2023
CGAffineTransform A structure for holding an affine transformation matrix. ...
阅读更多