Java:Excel模板下载
使用场景
Java下载预设的excel模板。
处理思路
1、配置文件模板路径:project-web.xml
<entry key="file.templetPath">/com/config/project/example/ImportTemplate.xlsx</entry>
2、配置项与类映射:applicationContext.xml
<bean id="configManager" class="com.sc.project.base.ConfigManager"><property name="templetPath" value="${file.templetPath}"></property>
</bean>
3、配置类:ConfigManager.java
public class ConfigManager{private String templetPath;public String getTempletPath() {return templetPath;}public void setTempletPath(String templetPath) {this.templetPath = templetPath;}
}
3、下载模板功能—设置导出文件名,excel字体头部格式
@RequestMapping(value = "/template/download.do")
public void downloadTemplet(HttpServletResponse response) {try {response.setContentType("application/force-download");// 设置强制下载不打开response.addHeader("Content-Disposition", "attachment;fileName=" + new String("导入模板".getBytes("gb2312"), "ISO8859-1") + ".xlsx");// 设置文件名importService.downloadTemplet(response.getOutputStream());} catch (Exception e) {logger.error(e.getMessage(), e);}
}
4、下载模板功能—读取字节流,导出excel模板
public void downloadTemplet(OutputStream outputStream) {try {byte[] rcBytes = getFileData(configManager.getTempletPath());outputStream.write(rcBytes);} catch (Exception e) {e.printStackTrace();logger.error("writeExample",e.getMessage(),e);}
}
5、模板缓存:下载模板,将字节流缓存起来,key为模板路径,value为文件字节流
private Map<String,byte[]> fileDatas = new ConcurrentHashMap<String, byte[]>();
private byte[] getFileData(String filePath) throws Exception{byte[] data = null;if (fileDatas.containsKey(filePath)){data = fileDatas.get(filePath);}if (data == null){data = FileUtils.readFile(filePath);fileDatas.put(filePath,data);}return data;
}
6、读取文件字节流工具类:FileUtils.java
public static byte[] readFile(String fileName)throws Exception{FileInputStream fis=null;try {fis=new FileInputStream(fileName);byte[] buf=new byte[fis.available()];int readed=0;int rv=0;while(readed<buf.length&&(rv=fis.read(buf,readed,buf.length-readed))>0){readed+=rv;}if (readed==buf.length){return buf;}else{return null;}} finally {if(fis!=null){fis.close();}}
}
Java:Excel模板下载相关推荐
- java excel模板 下载_Java从服务端下载Excel模板文件
/** * 描述:下载外部案件导入模板 * @param response * @param request * @author songfayuan * 2018年6月7日下午5:03:59 */ ...
- java excel模板下载_JavaWeb-POI实现excel表格下载
页面效果 功能概述: 选中要需要导出到excel的列(也可以是获取一些id)然后后台查找数据生成excel,用户点击导出到Excel就下载excle文件 前端页面 multiselect=" ...
- VUE+JAVA实现EXCEL模板下载
一.项目场景: VUE+JAVA实现EXCEL模板下载 二.功能背景 本人作为一个开发小白,今天接到一个小需求系统需要导入数据,也就十几个字段,我和老板说了,让客户一个一个去输入吧!然后我就被经理叫去 ...
- 【vue+springboot】excel模板下载、导入功能实现
基于VUE+SpringBoot实现excel模板下载.导入功能 背景 最近在工作中经常遇到批量导入的功能,而且前端还要提示导入成功几条.失败几条.哪一条数据重复.是哪一条导入的数据出现问题等,抽空写 ...
- SpringBoot打成jar包部署,Excel模板下载文件遇到的问题
问题一. 读取resource 目录下文件时出现路径找不到 在本机测试都很顺利,当打包jar文件放到服务器上测试的时候发现了类似下面的异常信息: java.nio.file.NoSuchFileExc ...
- nginx,excel模板下载
nginx,excel模板下载 weixin_30814223 2018-08-27 10:26:00 245 收藏 版权 spring boot项目,使用nginx服务器 最近在做一个功能是ex ...
- SAP ABAP(一个简单的excel模板下载与数据导入demo)
文章目录 备忘 一.excel模板 二.代码 如下: 总结 备忘 excel模板下载与数据上传处理demo (选择屏幕添加按钮,F4选择文件,模板下载,读取excel数据) 一.excel模板 共两个 ...
- java(Springboot) excel模板下载、导入
一.java对excel模板的下载 首先在resources目录下 代码可以直接复制,标红的是你的excel表名.然后在浏览器输入连接http://xxxx:8610/cloud/basic/user ...
- java excel 模板 替换_替换WORD/EXCEL模板文档中的内容并下载java
/** 案件模板下载 * **/ public static voidgenerateFile(HttpServletRequest request,HttpServletResponse respo ...
最新文章
- 在SAP中进行黏贴时必须要把之前的数据删掉后才能黏贴,不能直接使用黏贴来覆盖之前的数据,这个怎麼解?
- 关于 Angular view Query 的 id 选择器问题的单步调试
- 面经——C/C++常见面试知识点总结附面试真题
- Polly的7种策略
- tomcat(9)Session管理
- 格式化输入数字_Python格式化输出的三种方式
- Nginx 静态服务器
- element-ui 解决 table 里包含表单验证的问题!
- theano 编程细节
- Windows Phone 数据库并行访问【转】
- origin 修改默认字体
- Ubuntu配置maven环境变量
- win11安装使用安卓子系统WSA
- 基于小波变换的音频压缩
- 微信号名称乱码什么情况_微信号改成什么比较好,2020最火微信号!
- driller fuzz arm问题解决记录
- c语言程序设计陈彦君,2008 年度焦作学科研成果奖励登记表(论文).doc
- NOI 2008 假面舞会
- kubernets-RBAC
- IT痴汉的工作现状51-离职之花与诅咒之座
热门文章
- C语言 数据结构 之 链式栈
- 讯为4412开发板Linux驱动学习笔记
- 极差问题:c++求解1-10的极差问题的初等解法
- python文件去重软件_Python实现的txt文件去重功能示例
- python3.5安装JPype1失败问题
- 【Qt/C++异常笔记】C1083:无法打开包括文件:“stddef.h”
- C语言毕业设计 图书管理系统
- 云原生虚拟化:一文读懂网络虚拟化之 tun/tap 网络设备
- Visual Studio 2010
- [go学习笔记.第十六章.TCP编程] 3.项目-海量用户即时通讯系统-redis介入,用户登录,注册