当前位置: 首页 > news >正文

下载工程resources目录下的模板excel文件

一、添加依赖

<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>5.1.0</version>
</dependency>

二、编写接口

@GetMapping("/downloadTemplate")public void downloadTemplate(HttpServletRequest request,HttpServletResponse response){String fileName = "template"+File.separator+"字段标准导入模板.xlsx";InputStream is = ClassLoader.getSystemResourceAsStream(fileName);response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");response.setCharacterEncoding("utf-8");Workbook wb = null;try {wb = new XSSFWorkbook(is);} catch (IOException e) {throw new RuntimeException(e);}try {wb.write(response.getOutputStream());} catch (Exception e) {log.error("下载导入模板异常{}", e.getMessage());} finally {IOUtils.closeQuietly(wb);if(is!=null){try {is.close();} catch (IOException e) {throw new RuntimeException(e);}}}}


三、这种代码,在windows上调试没问题,打成jar包发到linux环境上会有问题,改成如下代码就行:

@GetMapping("/downloadTemplate")public void downloadTemplate(HttpServletRequest request,HttpServletResponse response){String fileName = "template"+File.separator+"ColumnStandardImportTemplate.xlsx";response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");response.setCharacterEncoding("utf-8");try (InputStream is = new ClassPathResource(fileName).getInputStream();Workbook wb = new XSSFWorkbook(is);ServletOutputStream os = response.getOutputStream()) {wb.write(os);os.flush();} catch (Exception e) {log.error("下载导入模板异常", e);}}


    

相关文章:

下载工程resources目录下的模板excel文件

一、添加依赖 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi-ooxml</artifactId> <version>5.1.0</version> </dependency> 二、编写接口 GetMapping("/downloadTemplate")public void downlo…...

音频基础知识和音频指标

音频基础知识 声音 声音&#xff08;sound)是由物体振动产生的声波。物体在一秒钟之内振动的次数叫做频率&#xff0c;单位是赫兹&#xff0c;字母Hz。人耳可以识别的声音频率在 20 Hz~20000 Hz之间&#xff1b; 声音三要素&#xff1a; 响度 响度&#xff0c;…...

使用Vue CLI在其他磁盘创建项目出现错误及解决

Vue CLI是Vue.js官方推出的脚手架工具&#xff0c;可以帮我们快速的创建Vue项目框架。 我们创建Vue项目时一般默认都是在C盘&#xff0c;但由于某些因素我们需要在其他磁盘上创建Vue项目。 通过“winr”打开终端时默认位置都是C盘&#xff0c;但是Vue CLI不接受绝对路径作为参…...

关于lamda表达式的使用

Lambda表达式是一种匿名函数&#xff0c;即没有函数名的函数&#xff0c;它可以以更简洁、更灵活的方式编写代码。以下是Lambda表达式的常用方式&#xff1a; 无参数&#xff0c;无返回值&#xff1a; 如果抽象方法不带参数且不返回值&#xff0c;可以使用空括号和主体编写Lam…...

Android替换默认的按键音

替换audio_assets.xml文件 此文件在AudioService.java被调用 <!--文件位置 /frameworks/base/core/res/res/xml/--> <audio_assets version"1.0"><group name"touch_sounds"><asset id"FX_KEY_CLICK" file"Effect…...

Windows 服务器Nginx 下载、部署、配置流程(图文教程)

不定期更新 目录 一、下载Nginx安装包 二、上传安装包 三、启动Nginx 四、Nginx常用命令 五、Nginx&#xff08;最小&#xff09;配置详解 六、Nginx&#xff08;基础&#xff09;配置详解 七、反向代理 八、负载均衡 九、动静分离 十、报错 一、下载Nginx安装包 四…...

基于Redis实现共享session登录

搭配食用&#xff1a;Redis&#xff08;基础篇&#xff09;-CSDN博客 项目实现前的 Mysql中的表&#xff1a; 表说明tb_user用户表tb_user_info用户详情表tb_shop商户信息表tb_shop_type商户类型表tb_blog用户日记表&#xff08;达人探店日记)tb_follow用户关注表tb_voucher优…...

shell函数的定义

shell函数的定义 ​ 定义:将命令序列按照格式写在一起.格式指的是函数的固定格式 ​ 作用:方便重复使用,还可以做成函数库,集中在一起,随时可以传参调用,大的工程分割成小的模块,提高代码的可读性. 函数的格式 vim hanshu1.shfunction shopping {命令序列}shopping () {命令…...

vue部署宝塔nginx配置(获取用户ip地址、反代理访问api接口、websocket转发)

以下配置为我自己的需求&#xff0c;因人而异&#xff0c;如果只是单纯的前端非交互页面&#xff0c;可以不用修改配置。 代码及注释&#xff0c;如下&#xff1a; #解决vue-router设置mode为history&#xff0c;去掉路由地址上的/#/后nginx显示404的问题location / {proxy_htt…...

Jenkins教程-3-github自动化测试任务构建

上一小节我们学习了Jenkins在windows和mac系统上安装搭建环境的方法&#xff0c;本小节我们讲解一下Jenkins构建github自动化测试任务的方法。 接下来我们以windows系统为例&#xff0c;讲解一下构建实际自动化测试任务的具体步骤。 安装git和github插件 点击进入Jenkins插件…...

0元体验苹果macOS系统,最简单的虚拟机部署macOS教程

前言 最近发现小伙伴热衷于在VMware上安装体验macOS系统&#xff0c;所以就有了今天的帖子。 正文开始 首先&#xff0c;鉴于小伙伴们热衷macOS&#xff0c;所以小白搜罗了一圈macOS系统&#xff0c;并开启了分享通道。 本次更新的系统版本是&#xff1a; macOS 10.13.6 ma…...

Codeforces Round 946 (Div. 3) E. Money Buys Happiness

m m m个月&#xff0c;每个月月底发 x x x的薪水&#xff0c;也就是第 i i i个月只能用前 i − 1 i-1 i−1个月挣的钱&#xff0c;而不能用这个月挣的钱。第 i i i个月花费 c [ i ] c[i] c[i]的薪水能获得 h [ i ] h[i] h[i]的快乐度&#xff0c;问最多能获取的快乐度是多少。 …...

Git记录 上传至Gitee

1.GitHub拉去的代码需要上传至自己的Gitee需要清除原有remote服务器信息 查看原始远程服务器信息&#xff0c;后删除远程服务器信息 git remote -v git remote rm origin 2.Gitee新建软件仓库 法1&#xff09;不用初始化仓库&#xff0c;初始化会自动生成.git。如果本地.git…...

笔记-前端

URL 输入到渲染的过程 域名解析&#xff0c;找到服务地址 构建 TCP 连接&#xff0c;若有 https&#xff0c;则多一层 TLS 握手&#xff0c; 特殊响应码处理 301 302 解析文档 构建 dom 树和 csscom 生成渲染树&#xff1a;从DOM树的根节点开始遍历每个可见节点&#xff0c;对于…...

事务AOP

事物管理 事务管理是指对一系列数据库操作进行管理&#xff0c;确保这些操作要么全部成功执行&#xff0c;要么在遇到错误时全部回滚&#xff0c;以维护数据的一致性和完整性。在多用户并发操作和大数据处理的现代软件开发领域中&#xff0c;事务管理已成为确保数据一致性和完…...

RAM和ROM

1&#xff0c;RAM和ROM区别 RAM和ROM都是由来存储的&#xff0c;比如CPU缓存&#xff0c;电脑和手机内存等属于RAM,而固态硬盘&#xff0c;U盘&#xff0c;手机的128G,256G存储空间等都属于ROM。他们的最主要区别是RAM在断电后存储数据就没有了&#xff0c;而ROM在断电后存储数…...

聊聊系统架构之负载均衡优化实践

一、写在前面 最近在进行线上监控检查时&#xff0c;我遇到了两个超出预期的案例。首先&#xff0c;网关层的监控数据与应用实际监控数据存在不一致性&#xff0c;尤其是max有较大的差异&#xff0c;详见如下图。其次在某个应用中&#xff0c;通过httpclient请求某域名时发现只…...

代码规范性思考

表命名和设计 业务模块前缀&#xff1b;下划线分隔&#xff0c;体现业务含义&#xff1b;数据库字符集、字段名、类型、长度、默认值&#xff1b;一对一、一对多、多对多建表&#xff1b;注释清晰&#xff1b;良好的索引&#xff1b; 接口文档 swagger增强工具swagger-boots…...

TestProject Python SDK入门

2024软件测试面试刷题&#xff0c;这个小程序&#xff08;永久刷题&#xff09;&#xff0c;靠它快速找到工作了&#xff01;&#xff08;刷题APP的天花板&#xff09;-CSDN博客跳槽涨薪的朋友们有福了&#xff0c;今天给大家推荐一个软件测试面试的刷题小程序。​编辑https://…...

服务器数据恢复—EMC Isilon存储中被误删的虚拟机数据恢复案例

服务器存储数据恢复环境&#xff1a; EMC Isilon S200集群存储&#xff0c;共三个节点&#xff0c;每节点配置12块SATA硬盘。 服务器存储故障&#xff1a; 工作人员误操作删除虚拟机&#xff0c;虚拟机中数据包括数据库、MP4、AS、TS类型的视频文件等。需要恢复数据的虚拟机通…...

SpringBoot整合poi-tl实战:如何优雅导出带动态表格和图片的Word并自动压缩成zip

SpringBoot与poi-tl深度整合&#xff1a;企业级Word动态导出与智能压缩方案 在企业级应用开发中&#xff0c;批量生成结构化的Word文档&#xff08;如报告、合同等&#xff09;并打包分发的需求日益普遍。传统方案往往面临动态内容渲染复杂、性能瓶颈明显、文件管理混乱等痛点。…...

FastbootEnhance:告别命令行,用图形化界面轻松管理Android刷机和分区

FastbootEnhance&#xff1a;告别命令行&#xff0c;用图形化界面轻松管理Android刷机和分区 【免费下载链接】FastbootEnhance A user-friendly Fastboot ToolBox & Payload Dumper for Windows 项目地址: https://gitcode.com/gh_mirrors/fa/FastbootEnhance 在An…...

别再只调包了!用Sentence-Transformers从零训练你的专属Embedding模型(附完整代码)

从零构建领域专属Embedding模型&#xff1a;超越调包侠的实战指南 当你第一次调用model.encode("你的文本")就能获得一个语义向量时&#xff0c;是否好奇过这个黑箱背后的魔法&#xff1f;在电商推荐、智能客服等垂直场景中&#xff0c;通用Embedding模型的表现往往差…...

从原理到实战:AEC如何成为现代通信的“静音守护者”

1. 回声&#xff1a;从自然现象到通信难题 想象一下&#xff0c;你正在和远方的朋友视频通话&#xff0c;突然听到自己的声音像山谷回音一样不断重复。这种恼人的现象就是我们常说的"声学回声"。在自然界中&#xff0c;回声是声音遇到障碍物反射形成的物理现象&#…...

点云处理实战:如何用RMLS算法保留锐利边缘(附Python代码示例)

点云处理实战&#xff1a;RMLS算法在锐利边缘保留中的工程实践 当你在处理3D扫描数据时&#xff0c;是否经常遇到这样的困扰——经过滤波处理后&#xff0c;原本清晰的物体边缘变得模糊不清&#xff1f;这正是传统移动最小二乘(MLS)算法的痛点所在。作为计算机视觉工程师&#…...

Comsol 锂枝晶耦合应力模型探索

comsol锂枝晶耦合应力模型 耦合了浓度场电势场应力场 Comsol锂枝晶模拟-相场法加应力 复现参考文献&#xff1a;《How Does External Pressure Shape Li Dendrites in Li Metal Batterie 利用相场法耦合&#xff1a;化学场、电势场、浓度场、应力场。在锂离子电池研究领域&…...

Stable Yogi Leather-Dress-Collection 皮革设计效果惊艳展示:多风格高清作品集

Stable Yogi Leather-Dress-Collection 皮革设计效果惊艳展示&#xff1a;多风格高清作品集 最近在AI设计圈里&#xff0c;有个模型挺火的&#xff0c;叫Stable Yogi Leather-Dress-Collection。光听名字你可能就猜到了&#xff0c;它专门用来生成皮革连衣裙的设计图。我花了一…...

不止于画图:用@antv/g6-editor的Command系统打造可撤销/重做的智能流程设计器

超越基础绘图&#xff1a;利用antv/g6-editor构建企业级智能流程设计器 在当今快速发展的数字化时代&#xff0c;流程设计工具已成为企业数字化转型的核心组件。从简单的审批流程到复杂的业务编排&#xff0c;一个功能完备的流程设计器不仅能提升工作效率&#xff0c;更能确保…...

WPF实战:用LiveCharts打造实时监控曲线(附动态数据刷新技巧)

WPF实战&#xff1a;用LiveCharts打造高性能实时监控曲线 在工业自动化、物联网监控等场景中&#xff0c;实时数据可视化是核心需求之一。想象一下&#xff0c;当数百个传感器数据以毫秒级频率涌向系统时&#xff0c;如何让曲线图既流畅又精准&#xff1f;传统WPF图表在高频数…...

使用 C++ 模拟 ShaderLanguage 的 swizzle

经常编写着色器的同学应该对 swizzle&#xff08;重排&#xff09;语法非常熟悉&#xff0c;方便又灵活&#xff0c;可以说是用过一次便回味无穷。 代码 vec4 color vec4(1.0, 0.5, 0.0, 1.0); vec3 rgb color.rgb; // { 1.0, 0.5, 0.0 } vec2 xy color.xy; …...