Java 之 Excel文件下载
Java 之 Excel文件下载
- 可以直接当作工具类使用
- Controller业务层使用
- 做为Utils工具类使用
- 实例截图 图片三联
可以直接当作工具类使用
老规矩,废话不多说直接上代码:
Controller业务层使用
@RequestMapping("/fileDownload")public void cs(HttpServletResponse res) {String realFileName="门禁数据.xlsx"; //下载的文件名String exampleFilePath="src/main/resources/download/"+realFileName; //真实的文件路径File excelFile = new File(exampleFilePath);res.setCharacterEncoding("UTF-8");res.setHeader("content-type", "application/octet-stream;charset=UTF-8");res.setContentType("application/octet-stream;charset=UTF-8");//加上这个设置下载来的.xlsx文件打开时才不会报“Excel 已完成文件级验证和修复。此工作簿的某些部分可能已被修复或丢弃”res.addHeader("Content-Length", String.valueOf(excelFile.length()));try {res.setHeader("Content-Disposition", "attachment;filename=" + java.net.URLEncoder.encode(realFileName.trim(), "UTF-8"));} catch (UnsupportedEncodingException e1) {e1.printStackTrace();}byte[] buff = new byte[1024];BufferedInputStream bis = null;OutputStream os = null;try {os = res.getOutputStream();bis = new BufferedInputStream(new FileInputStream(new File(exampleFilePath)));int i = bis.read(buff);while (i != -1) {os.write(buff, 0, buff.length);os.flush();i = bis.read(buff);}} catch (IOException e) {e.printStackTrace();} finally {if (bis != null) {try {bis.close();} catch (IOException e) {log.error("【下载文件】{}",e);}}}log.info("【下载文件】成功,exampleFilePath={}",exampleFilePath);}
做为Utils工具类使用
public void cs(HttpServletResponse res,String realFileName) {String exampleFilePath="src/main/resources/download/"+realFileName; //真实的文件路径File excelFile = new File(exampleFilePath);res.setCharacterEncoding("UTF-8");res.setHeader("content-type", "application/octet-stream;charset=UTF-8");res.setContentType("application/octet-stream;charset=UTF-8");//加上这个设置下载来的.xlsx文件打开时才不会报“Excel 已完成文件级验证和修复。此工作簿的某些部分可能已被修复或丢弃”res.addHeader("Content-Length", String.valueOf(excelFile.length()));try {res.setHeader("Content-Disposition", "attachment;filename=" + java.net.URLEncoder.encode(realFileName.trim(), "UTF-8"));} catch (UnsupportedEncodingException e1) {e1.printStackTrace();}byte[] buff = new byte[1024];BufferedInputStream bis = null;OutputStream os = null;try {os = res.getOutputStream();bis = new BufferedInputStream(new FileInputStream(new File(exampleFilePath)));int i = bis.read(buff);while (i != -1) {os.write(buff, 0, buff.length);os.flush();i = bis.read(buff);}} catch (IOException e) {e.printStackTrace();} finally {if (bis != null) {try {bis.close();} catch (IOException e) {log.error("【下载文件】{}",e);}}}log.info("【下载文件】成功,exampleFilePath={}",exampleFilePath);}
实例截图 图片三联
拷贝下去是可以直接使用的,也可以当作工具类使用。
好用记得三联哈[手动狗头]!
Java 之 Excel文件下载相关推荐
- java将excel文件下载到本地
1.代码如下,可直接复制 注:workbook 格式必须是HSSFWorkbook类型的,文件名后缀是 .xls,不然会报错. //测试excel文件是否导入成功,将导入的excel文件下载到本地St ...
- java后台实现excel文件下载功能
java后台实现excel文件下载功能 java中对于excel文件的操作,有读取,写入,上传等功能,在对excel文件进行操作时,为了让使用者更加直观的制作excel数据,必然会有下载模板exce ...
- java excel api 下载文件_java excel api实现输出EXCEL文件下载
java excel api实现输出EXCEL文件下载 [// 下载本地文件String fileName = 苹果知识库授权网点整理汇总副本20130210.xls.toString(); // 文 ...
- java迅雷下载excel,用servlet实现excel文件下载,用迅雷下载时文件名有关问题
用servlet实现excel文件下载,用迅雷下载时文件名问题 用servlet实现的excel下载,在用浏览器直接下载时,获得的文件名是设置在header中的文件名, 但如果用迅雷下载,生成的文件名 ...
- java导出Excel(POI模式 Ajax下载 Post传参) bootstrap table getVisibleColumns获取显示的列
工具类 (正式使用) package com.qyj.utils;import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson. ...
- poi导出Excel文件下载数据
poi导出Excel文件下载数据 poi上传Excel文件批量的添加数据 : https://blog.csdn.net/kangshifu007/article/details/103149764 ...
- java中excel上传_java对excel表格的上传和下载处理
Excel表格文件的上传和下载,java中涉及到文件肯定会有io流的知识. 而excel文件就要涉及到poi技术,而excel的版本包括:2003-2007和2010两个版本, 即excel的后缀名为 ...
- excel文件下载工具分享
好久没和大家分享点东西了,今天就和大家分享一个excel文件下载工具,项目中有很多下载功能,尤其管理系统,每个菜单下都有下载功能,如果没有一个公共的工具类,就会乱套,维护起来也很吃力(不同菜单下的下载 ...
- Java多格式文件下载及解压处理
工作中遇到很多多格式文件下载压缩及解压处理,现将通用文件下载工具类做一个总结.包含格式(doc/docx.xls/xlsx.lrm/lrmx.txt.zip/rar等). 一.解压处理 文件解压主要处 ...
最新文章
- 父亲节遇上端午节,你难道不回家吗?
- java8 group by_java8新特性Java 8 – Stream Collectors groupingBy 示例 - Java教程
- 硝烟四起的云服务双十一促销大战,谁更便宜?
- mysql str_to_date 字符串转换为日期
- stm32 火灾自动报警及联动控制源码_中级消防设施操作员关键技能之十四:能测试火灾自动报警系统联动功能...
- C#替换字符串起始/结尾指定的字符串
- MassTransitamp;amp;Sagas分布式服务开发ppt分享
- cf1526E. Oolimry and Suffix Array(未解决)
- 服务器最小化安装后的优化脚本
- MySQL数据技术嘉年华,带你深入MySQL的世界
- 苹果电风扇软件Macs Fan Control Pro安装教程
- OpenCV_cv::Mat的深拷贝 浅拷贝问题
- 远程连接另一台电脑,如何用被远程的电脑听歌
- springboot项目打jar包部署到linux中
- java ee图书管理系统_基于jsp的图书管理系统-JavaEE实现图书管理系统 - java项目源码...
- 2022茶艺师(中级)考试题及答案
- linux的grub是什么意思,grub是什么意思
- Tempest之Testr使用
- Wox Github下载太慢了
- 分布式存储HBASE原理学习