JAVA web端JS下载excel文件
JSP代码如下:
JSP端引入jquery.easyui.min.js库:
<script type="text/javascript" src="<c:url value="/resources/jquery/jQuery-2.2.0.min.js"/>"></script> <!--先引入jquery库-->
<script type="text/javascript" src="<c:url value="/resources/plugins/jquery.easyui.min.js"/>"></script> <!-- 再引入jquery.easyui.min.js库 -->
<!-- 隐藏form表单,下载excel使用 -->
<form id="excel" action='' method="get">
<input type="hidden" id="id" name="id" />
<input type="hidden" id="startTime" name="startTime" />
<input type="hidden" id="endTime" name="endTime" />
</form>
JS代码如下:
function downloadExcel(id){
console.log("id",id);
$("#excel").find("#startTime").val(startTime.val());
$("#excel").find("#endTime").val(endTime.val());
$("#excel").find("#id").val(id);
//下载excel表单提交
$('#excel').form('submit', {
url : basePath + "device/downloadExcel",
success : function(data) {
var msg = eval('(' + data + ')').msg;
if(msg!=null){
showMsgModal(msg);
}
}
});
}
springMVC后台代码如下:
@RequestMapping(value = "/downloadExcel", method = RequestMethod.GET)
public void excel(HttpServletRequest request,HttpServletResponse response,HttpSession session,
@RequestParam(value = "id", required = false) String id,
@RequestParam(value = "startTime", required = false) String startTime,
@RequestParam(value = "endTime", required = false) String endTime){
OutputStream responseOutput = null;
try{
if(StringUtils.isBlank(id)){
write2response(response,"ID号不能为空");
return;
}
if(StringUtils.isBlank(startTime) || StringUtils.isBlank(endTime)){
write2response(response,"开始时间或结束时间不能为空");
return;
}
XSSFWorkbook wbook = new XSSFWorkbook(); //测试下载用,所以这里excel内容直接写死
XSSFSheet sheet = wbook.createSheet("sheet000");
XSSFRow row = sheet.createRow((int) 0);
Cell cell = row.createCell(0);
cell.setCellValue("abc123");
//写excel文件到response输出流
//下载文件名称
String fileName = id+"["+startTime+"-"+endTime+"]" + DateUtil.yyyy_MM_dd_HH_mm_ss();
fileName = new String(fileName.getBytes("GBK"), "iso8859-1");
response.reset();// 清空输出流
response.setHeader("Content-disposition", "attachment;filename="+ fileName + ".xlsx");
response.setContentType("application/msexcel");// 定义输出类型
responseOutput = response.getOutputStream();
wbook.write(responseOutput);
responseOutput.flush();
} catch (IOException e1) {
logger.error(e1);
write2response(response,"下载出错");
} finally{
try {
if(null != responseOutput){
responseOutput.close();
}
} catch (IOException e) {
logger.error(e);
write2response(response,"下载出错");
}
}
}
JAVA web端JS下载excel文件的更多相关文章
- Web 端 js 导出csv文件(使用a标签)
前言 导出文件,使用最多的方式还是服务器端来处理.比如jsp 中使用response 的方式. 但是,有时候可能就想使用web 前端是否也可以把页面上的内容导出来呢? 比如说,导出页面的一个表格. 这 ...
- Web前端js下载流文件
前端下载文件大概有以下种: 1)a标签链接下载 <a href="url">点击链接下载</a> 2)表单form提交下载 var form = $(&qu ...
- Web 端 js 导出csv文件
http://www.qdfuns.com/notes/35821/2ab249182734d1f5c66da6b5cf395db9.html
- Web 端异步下载文件
Web 端异步下载文件 实现文件异步下载: 在服务端无法返回文件,或发生异常时给予提示. JavaScript: 服务端返回的JSON对象形如: { code:200, msg:'下载成功|未找到指定 ...
- 浏览器端JS导出EXCEL
浏览器端JS导出EXCEL FileSaver.js 实现了在本身不支持 HTML5 W3C saveAs() FileSaver 接口的浏览器支持文件保存.FileSaver.js 在客户端保存文件 ...
- 在线读取Mongodb数据库下载EXCEL文件
版本:Mongodb2.4.8 通过页面下载Excel文件 jsp <%@ page language="java" contentType="text/html; ...
- NodeJs实现下载Excel文件
nodejs作为一门新的语言,报表功能也不是十分完善. (1).js-xlsx : 目前 Github 上 star 数量最多的处理 Excel 的库,支持解析多种格式表格XLSX / XLSM / ...
- C# 之 下载EXCEL文件,自动用迅雷下载aspx
在浏览器中导出 Excel 得时候,如果浏览器绑定了迅雷,则会下载aspx文件. 解决:下载EXCEL文件,自动用迅雷下载aspx if (Request.QueryString["id&q ...
- jsp下载excel文件
jsp下载excel文件的的实现方法很多,今天也遇到这个问题,乱敲了一阵,终于搞定了,记下来和朋友们分享吧. 假设需要下载excel文件的jsp页面名为:down.jsp 对应的后台action名为: ...
随机推荐
- 『计算机视觉』R-FCN:Object Detection via Region-based Fully Convolutional Networks
一.网络介绍 参考文章:R-FCN详解 论文地址:Object Detection via Region-based Fully Convolutional Networks R-FCN是Faster ...
- node模块之events模块
events 模块只提供了一个对象: events.EventEmitter. [EventEmitter 的核心就是事件触发与事件监听器功能的封装.] EventEmitter 的每个事件由一个事件 ...
- Jumpserver跳板机的搭建和部署
1.需要搭云yum仓库wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo 2. ...
- Mac系统在Pycharm中切换解释器
1. 2. 3. 4. 5.
- Python之路,Day9 - 异步IO\数据库\队列\缓存
https://www.cnblogs.com/alex3714/articles/5248247.html http://www.cnblogs.com/wupeiqi/articles/51327 ...
- elasticsearch 使用快照进行备份
Elasticsearch也提供了备份集群中索引数据的策略——snapshot API.它会备份整个集群的当前状态和数据,并保存到集群中各个节点共享的仓库中.这个备份的进程是增量备份的,在第一次备份的 ...
- opencv读取摄像头实时流代码
opencv读取摄像头实时流代码: #include <opencv2/opencv.hpp> #include <iostream> using namespace cv; ...
- Codeforces 1080C- Masha and two friends
AC代码 #include <bits/stdc++.h> #define ll long long const int maxn=1e6+10; using namespace std; ...
- Angular + Websocket
Angular使用RxJS,它本质上是一个反应式扩展的javascript实现.这是一个使用可观察序列组成异步和基于事件的程序的库,非常适合使用WebSockets. 简而言之,RxJS允许我们从we ...
- SQLServer调WebService & 错误解决:请求格式无法识别
(sqlServer 2008 + VS2010) 首先,对服务器进行配置. sp_configure ; GO RECONFIGURE; GO sp_configure ; GO RECONFIGU ...