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名为: ...
随机推荐
- Lua 语言基本语法
第一个 Lua 程序 .交互式编程 Lua 提供了交互式编程模式.我们可以在命令行中输入程序并立即查看效果. Lua 交互式编程模式可以通过命令 lua -i 或 lua 来启用 .脚本式编程 我们可 ...
- Php基本类型——布尔类型
1)简介 布尔类型,这是最简单的类型,bollean表达了真值,可以为true或false,它是php4引进的. 2)语法 要指定一个布尔值,使用关键字true或false,两个都不区分大小写. &l ...
- [转] MySql 数据类型
转自:http://blog.csdn.net/anxpp/article/details/51284106 1.概述 要了解一个数据库,我们也必须了解其支持的数据类型. MySQL支持所有标准的SQ ...
- Opencv undefined reference to `cv::imread() Ubuntu编译
Ubuntu下编译一个C++文件,C++源程序中使用了opencv,opencv的安装没有问题,但是在编译的过程中出现如下错误: undefined reference to `cv::imread( ...
- tomcat中web项目编译后的结构
一. jsp文件在WEB-INF中 原项目结构及编译后的项目结构,原web项目与编译文件的对应关系如下:java下面的.java文件----->WEB-INF下的classes中,target下 ...
- asp.net mvc模板布局
- cut语法2
linux每日一命令--cut--按文件大小排序 显示前100行 显示后五列 ll -Sh|head -n 100|cut -d ' ' -f 5- 一.基本语法cut是一个选取命令,以行为单位,用指 ...
- CSS 实现单、多行文本溢出显示省略号(…)
如果实现单行文本的溢出显示省略号同学们应该都知道用text-overflow:ellipsis属性来,当然还需要加宽度width属来兼容部分浏览. 实现方法: overflow: hidden; te ...
- wpf UI 布局
1.Grid *号代表百分比,也可以使用固定值,需要预先设置 有几行几列 以及宽度和高度 ,在表格中的控件需要 表明自己所在第几行 第几列 2.StackPanel 重点需要设置 排列方向 水平还是垂 ...
- ADO.NET 的五个对象
首先来一张关系图,了解大概关系. 知道了整个大关系之后,我们在具体看一下他们五个的分工: 1. SqlConnection 在访问数据时,我们首先必须要建立数据库的物理连接.· 2.SqlComman ...