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名为: ...
随机推荐
- Redux和react-redux的学习总结
写在最前面:这段时间一直在看前端方面的东西,之前只是了解HTML,CSS,JS,jQuery,由于公司交代了前端的任务,所以后面又看了Bootstrap,React,Redux,react-redux ...
- selenium java 文件上传、下载
1.webdriver对页面文件的下载 我们一般操作浏览器下载时会让我们选择下载的目录然后经过一系列操作后才进行文件下载操作,但是用webdriver不能按这样的方式操作.经过查询资料找到了如下的实现 ...
- ZZW_shell脚本中的调用MYSQL传参及注意的问题
[oracle@ip9140 db_pcc]$ cat zzw_cc.sh #!/bin/bash z_user='pcc_csuser22'z_pass='pcc_csuser22'z_db='db ...
- poj 3254Corn Fields (入门状压dp)
Farmer John has purchased a lush ≤ M ≤ ; ≤ N ≤ ) square parcels. He wants to grow some yummy corn fo ...
- QComboBox样式
https://blog.csdn.net/lys211/article/details/43956979https://blog.csdn.net/x_nazgul/article/details/ ...
- linux软件管理 软件安装
软件包分类 1) 源代码包 脚本安装包 2) 二进制包 (RPM包,系统默认包) 源码包编译后形成二进制包 JDK的安装 下载jdk的文件解压 tar -zxvf jdk-8u144-linu ...
- C# 中的冒泡排序
int num; , , , , , , , , , }; ; i < arr.Length; i++) { ; j < arr.Length; j++) { if (arr[j] > ...
- vue全家桶(vue-cli,vue-router,vue-resource,vuex)-1
vue-cli # 全局安装 vue-cli $ npm install --global vue-cli # 创建一个基于 webpack 模板的新项目 $ vue init webpack my- ...
- express源码分析
参考:http://www.cnblogs.com/ginobilee/p/6906204.html https://www.cnblogs.com/zhusheng2008/p/5264096.ht ...
- BFC清除浮动
BFC 就是清除浮动 用来处理文档脱离文档流的问题 清除浮动的方法: a.父元素也添加一个浮动 产生弊端就是:margin 不能使用 b.给父元素添加一个:display:inline-block 弊 ...