配置里面的路径(如果模板不更改,可以放到resource下面):

Config(从这里获取配置信息):

package com.imagedt.pawpaw.config;import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;@Component("modelConfig")
public class ModelConfig {@Value("${model.path}")private String path;public String getPath() {return path;}public void setPath(String path) {this.path = path;}
}

Controller:

 @Autowiredprivate ModelConfig modelConfig;/*** 下载模板* @return 返回excel模板*/@RequestMapping(value = "/downloadModel", method = RequestMethod.GET, produces ="application/json;charset=UTF-8")public Object downloadModel(){ResponseEntity<InputStreamResource> response = null;try {response = DownloadFileUtil.download(modelConfig.getPath(), "用户导入模板");} catch (Exception e) {log.error("下载模板失败");}return response;}

下载文件工具类:

package com.imagedt.pawpaw.util;import lombok.extern.slf4j.Slf4j;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.InputStreamResource;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import java.io.*;
@Slf4j
public class DownloadFileUtil {public static final String separator = File.separator;/*** 下载样表* @param filePath 文件目录* @param newName  下载的展示文件名* @return 响应*/public static ResponseEntity<InputStreamResource> download(String filePath, String newName) {String path = null;ResponseEntity<InputStreamResource> response = null;try {path = filePath;InputStream inputStream = new FileInputStream(path);//File file = new File(path);HttpHeaders headers = new HttpHeaders();headers.add("Cache-Control", "no-cache, no-store, must-revalidate");headers.add("Content-Disposition","attachment; filename="+ new String(newName.getBytes("gbk"), "iso8859-1") + ".xlsx");headers.add("Pragma", "no-cache");headers.add("Expires", "0");response = ResponseEntity.ok().headers(headers).contentType(MediaType.parseMediaType("application/octet-stream")).body(new InputStreamResource(inputStream));} catch (FileNotFoundException e1) {log.error("找不到指定的文件", e1);} catch (IOException e) {log.error("获取不到文件流", e);}return response;}
}

springboot实现excel下载模板相关推荐

  1. SAP ABAP EXCEL 下载模板并导入(数据批导)

    SAP ABAP EXCEL 下载模板并导入(数据批导) 文章目录 SAP ABAP EXCEL 下载模板并导入(数据批导) 前言 上传 EXCEL 模板 下载 EXCEL 模板 定义屏幕 初始化设置 ...

  2. vue3 实现Excel下载模板

    1.根据业务需要直接在wps规定Excel模板保存(文件名可以是中文或英文),如下: 2.直接复制excel文件到vue项目中,如下: vue3.0版本的在项目public目录下新建static文件夹 ...

  3. excel下载模板 批量上传

    pom <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http:// ...

  4. 【vue+springboot】excel模板下载、导入功能实现

    基于VUE+SpringBoot实现excel模板下载.导入功能 背景 最近在工作中经常遇到批量导入的功能,而且前端还要提示导入成功几条.失败几条.哪一条数据重复.是哪一条导入的数据出现问题等,抽空写 ...

  5. springboot+vue+element-ui下载excel模板(静态文件)

    前端: html:<div style="margin-top: 20px"><el-button @click="downloadDemo" ...

  6. springboot中的下载excel模板

    文件放在resource下面 然后下载工具类代码: @Slf4j public class ExcelTemplateUtil {/*** 下载模板文件* @param response* @para ...

  7. Springboot利用poi导出excel下载

    Springboot利用poi导出excel下载 因为项目中之前的做法是用反射获取属性,所以demo中也是用的反射,我看网上很多文章都是存入一个List中,不知道这两种哪种更何合适一点,或者有什么更好 ...

  8. Excel表格模板打包下载┆收集了各类各行业Excel表格、word模板

    Excel表格模板打包下载(2240个)  收集了各类各行业Excel表格模板 下载链接:https://download.csdn.net/download/admin_maxin/20454566 ...

  9. 使用EasyExcel实现Excel的导入、导出、下载模板等功能

    文章目录 导入功能 依赖 实体类 监听器 控制器 批量插入 导出功能 下载模板 实体类 控制层 业务层 参考:https://blog.csdn.net/z845910508/article/deta ...

最新文章

  1. Nexus3.x安装
  2. sql-case when 条件1 then 取值1 when 条件2 then 取值2 else 取值3 end
  3. ROR与社区网站开发
  4. matlab GUI 界面暂时关闭和打开关闭请求操作
  5. 帝国cms后台使用savesufer.js生成大音频audio彩色频谱数据
  6. sybase 数据导入mysql_Windows环境下Sybase12.5 数据库创建与导入数据库.docx
  7. adult道具项目开发 - 模式
  8. 如何在 ASP.NET CORE 中获取客户端 IP ?
  9. 陕西师范大学 渝粤教育 《学前儿童数学教育》作业
  10. html缩进快捷键_Windows IDEA 快捷键终极大全,果断收藏!
  11. 群英论道聚北京,共话PostgreSQL
  12. godotenv简介
  13. 什么时候不需要回表?
  14. android图片选择库selectp,浅谈android的selector背景选择器
  15. Java第十二次作业:继承与抽象类解决工人与学生的问题,抽象类实例。抽象类作用——为多态创造了可能。抽象类的作用总结...
  16. 安装ie9提示未能完成安装_ie11/ie10/ie9安装程序无法验证安装文件
  17. 大疆livox雷达调试
  18. ActiveMq NON_PERSISTENT与PERSISTENT以及 durable subscription(持久订阅)的理解
  19. iOS视频转码 mov 转 mp4
  20. keil警告提示: last line of file ends without a newline

热门文章

  1. 记录下Android RecyclerView的使用
  2. Web3.0训练营“毕业报告” 10.26 Demo Day 15支团队等你来Pick
  3. layui复选框勾选取值
  4. qt文件选择对话框 linux,Linux下QT实现自定义对话框以及设置模态和非模态对话框...
  5. 苹果怎么关闭自动亮度_自动续费服务该怎么关闭?
  6. iPhone苹果手机上一些不想让他人看到的APP应用图标怎么设置手机桌面上的APP应用设置隐藏不让显示在手机桌面隐藏后自己可以正常使用的方法?
  7. UUV Simulator: Based on Gazebo
  8. selenium 通过chrome浏览器携带用户数据登录网站
  9. PayPal通过万里汇WorldFirst提现到国内银行实战教程!
  10. dma总线全称_总线主控DMA