form表单提交方式实现浏览器导出Excel
刚开始使用ajax做Excel导出,发现ajax做不了浏览器导出只能下载到本地,于是用form提交可以提供浏览器下载Excel。
1>用ajax做本地下载:
FileOutputStream fout = new FileOutputStream("C:/student.xls");
.write(fout);
fout.close();
2>用form做浏览器下载:
jsp:HTML:
<form id="myform" name="myform" method="post" action="" style="float:right;">
<input type="hidden" name="year" >
<input type="button" id="jqueryBtn" onclick="exportData()" value="导出数据" /></form>
js:
document.getElementById("myform").setAttribute("action", url);//url提交的路径
document.getElementById("myform").year.value = str;//提交的参数值
document.getElementById("myform").submit();
Java:
String name = new String((fileName.getBytes("GBK")), "ISO8859_1");
OutputStream os = response.getOutputStream();
response.reset();
response.setContentType("application/vnd.ms-excel");
response.setHeader("Content-disposition", "attachment; filename=" + name);
wb.write(os);
os.flush();
os.close();
ajax不能导出的原因:ajax请求只是个“字符型”的请求,即请求的内容是以文本类型存放的。文件的下载是以二进制形式进行的,ajax没法解析后台返回的文件流,所以无法处理二进制流response输出来下载文件;通过ajax异步传输的数据格式有三种,分别是html、xml以及json格式,不能传递流的格式。
最新文章
- 分布式服务框架dubbo原理解析(转)
- 【30集iCore3_ADP出厂源代码(ARM部分)讲解视频】30-1 前言
- Linux(Ubuntu 14.0)
- SharePoint 判断用户是否在字段";人员和组";里面
- UBUNTU下Y86模拟器的安装和使用
- CF 628A --- Tennis Tournament --- 水题
- Entity Framework若干个扩展
- aps.net 用ajax 读取服务端值
- Ruby on Rails: 使用devise+cancan+rolify建立完整的权限管理系
- 题目要求:建立一个类Str,将一个正整数转换成相应的字符串,例如整数3456转换为字符串";3456";.
- pwnable.kr-fd-Writeup
- ActivityThread 源码分析
- [蓝点ZigBee] Zstack 之按键驱动以及控制LED灯 ZigBee/CC2530 视频资料
- 深入理解Java虚拟机1-chap1-2-斗之气8段
- linux 高级字符设备驱动 ioctl操作介绍 例程分析实现【转】
- JDK1.6 Java.lang.Null.Pointer.Exception
- springcloud 分布式服务跟踪sleuth+zipkin
- python的时间处理-time模块
- Spring框架的AOP的底层实现
- Sql-Server触发器,根据条件匹配另一个表中的字段
热门文章
- 配置 IO 时要记得换 Page
- 一个 PHP 面试题
- Java练习 SDUT-2746_大小写转换
- python代码实现树莓派3b+驱动步进电机
- 请注意更新TensorFlow 2.0的旧代码
- python selenium 测试 LOG
- 解决ubuntu的Idea启动No JDK found. Please validate either IDEA_JDK, JDK_HOME or JAVA_HOME environment variable points to valid JDK installation.
- 最强 NLP 预训练模型库 PyTorch-Transformers 正式开源:支持 6 个预训练框架,27 个预训练模型
- java StringBuffer 与 StringBuilder
- H3C 什么是OSPF