extjs 导出Excel 解决方法 extjs export excel 信息 消息
来源:互联网 发布:七了个三淘宝 编辑:程序博客网 时间:2024/06/05 02:22
由于ExtJs的提交请求都是异步的,返回内容都是json等格式,
所以不能用ExtJs的操作去请求导出操作。
方法1:
url重定位,window.location.href或者window.open等去请求操作,
前台请求window.location.href="../exportExcel.action",
struts配置:
<result name="exportExcel" type="stream">
<param name="ContentType">application/vnd.ms-excel</param>
<param name="inputName">file</param>
<param name="contentDisposition">attachment;filename=${exportfilename}</param>
<param name="bufferSize">4096</param>
</result>
后台返回文件的流file,和对应的文件名exportfilename
正常时没有任何问题
这样后台有异常或者导出内容异常等,
画面重定位找不到,画面就会崩掉。
方法2:
使用传统页面提交方式,Ext页面中html属性里放一个form和一个iframe,如下
<form id="exportform" target="exportframe"></form><iframe id="exportframe" name="exportframe" border="0" frameborder="0" width="0" height="0"></iframe>
form提交时请求导出文件,
后台如下:
response.addHeader("Content-Type", "application/vnd.ms-excel");
response.addHeader("Content-Disposition", "attachment;fileName=\"" + fileName + ".xls\"");
workbook.write(response.getOutputStream());
catch(FileNotFoundException e){
e.printStackTrace();
response.getWriter().write("<Script language='javascript'>alert('MSG0009');</Script>");
}
这样正常时也不用打开新的页面去下载,直接利用隐藏的iframe实现,效果比较好。
异常时,可以利用response执行前台脚本,提示各种错误信息,可以交互。
而且这个调用不需要struts配置等。
搞了好久才出来这个方法,希望对大家有用。
- extjs 导出Excel 解决方法 extjs export excel 信息 消息
- ExtJS实现Excel导出
- Extjs导出Excel
- ExtJS实现Excel导出
- extjs中导出excel
- ExtJS 导出 Excel
- ExtJS实现Excel导出
- Extjs导出excel数据
- ExtJs grid导出Excel
- ExtJS实现Excel导出
- extjs导出Excel文档
- ExtJS实现Excel导出
- ExtJS Grid 导出Excel文件
- extjs grid 分页 导出 excel
- ExtJs Grid导出到Excel(修正版)
- Extjs中将数据导出为Excel表格
- ExtJS:Grid数据导出至excel实例
- 前台EXTJS后台JAVA导出EXCEL
- 关注的博客
- eclipse最常用快捷键 调试技巧
- Android平台aac谷歌软解框架和流程、解码库学习
- [LeetCode]Container With Most Water
- 打造DLL内存加载引擎学习笔记
- extjs 导出Excel 解决方法 extjs export excel 信息 消息
- Communications link failure,The last packet successfully received from the server was *** millisecon
- 多个引用类型的变量“引用”同一个对象意味着什么
- 求该日为本年第几天(新的简便的)
- Unity3D的脚本-script入门
- MII
- css 中字体大小
- C++运算符重载(一)——必要性及重载原则
- js实现图片旋转