ExtJs Excel导出并下载IIS服务器端遇到的问题


Posted in Javascript onSeptember 16, 2011

项目是Extjs的主要针对于Extjs GridPanel数据导出这块先做一下说明。
我们可以通过Ext.getcmp()方法获取到GridPanel对象并通过重写的方法获取Excel字符串具体方法可以百度到。这个应该也不是什么大问题。

//输出报表 
function ExportReport(title) { 
var vExportContent = Ext.getCmp("gridPanel").getExcelXml(null, title); 
if (Ext.isIE6 || Ext.isIE7 || Ext.isSafari || Ext.isSafari2 || Ext.isSafari3 || Ext.isIE8) { 
// var frm = document.createElement('form'); 
// frm.id = 'frmExtjs'; 
// frm.className = 'x-hidden'; 
// document.body.appendChild(frm); 
var f = document.createElement("form"); 
f.id = "frmExtjs"; 
document.body.appendChild(f); 
var i = document.createElement("input"); 
i.type = "hidden"; 
i.id = "exportContent"; 
i.name = "exportContent"; 
f.appendChild(i); 
i.value = vExportContent; 
Ext.Ajax.request({ 
url: 'frmExcel.aspx', 
method: 'POST', 
form: Ext.get('frmExtjs'), 
isUpload: true, 
params: { FileName: title + '.xls' } 
}) 
} else { 
document.location = 'data:application/vnd.ms-excel;base64,' + Base64.encode(vExportContent); 
}

以上是表单虚拟提交的方法。但是实验了很多方法。发现数据post过去后无法生成Excel通过生成后下载方法也无法实现。(即在服务器端无法生成,但本机可以生成。)经过多次思路的转折后来想到通过数据分析来调试。看看到底数据是否post到网页
string tmpFileName = "export.xls"; 
string tmpContent = Request["ExportContent"]; 
if (Request["FileName"] != "") 
{ 
tmpFileName = Request["FileName"];//获取传递来的文件名? 
tmpFileName = System.Web.HttpUtility.UrlEncode(Request.ContentEncoding.GetBytes(tmpFileName));//处理中文文件名的情况 
} 
Response.Clear(); 
Response.Buffer = true; 
Response.ContentType = "application/vnd.ms-excel"; 
Response.AddHeader("Content-Disposition", "attachment;filename=\"" + tmpFileName + "\""); 
Response.Charset = ""; 
System.IO.StringWriter tmpSW = new System.IO.StringWriter(); 
System.Web.UI.HtmlTextWriter tmpHTW = new System.Web.UI.HtmlTextWriter(tmpSW); 
tmpHTW.WriteLine(tmpContent); 
Response.Write(tmpSW.ToString()); 
Response.End();

以上是生成并下载的CS文件

ExtJs Excel导出并下载IIS服务器端遇到的问题

后来找到这个工具

具体步骤很简单:

打开工具栏上的插件

ExtJs Excel导出并下载IIS服务器端遇到的问题

虽然是英文的,但是不在话下。文档都是看的英文的。

ExtJs Excel导出并下载IIS服务器端遇到的问题

ExtJs Excel导出并下载IIS服务器端遇到的问题

两张近照

这边就可以看到post过去以后的报错信息。

这个是无刷新post无法看到的页面。正因为这个而纠结了好久。今天终于知道哪错了。

把错误信息复制到文本生成html文件。

ExtJs Excel导出并下载IIS服务器端遇到的问题

原来是.net安全机制搞的鬼。

在web.config 的System.Web 后面加两句话就搞定了。

<httpRuntime requestValidationMode="2.0" />

<pages validateRequest="false" />

好了 问题解决了 结博。

Javascript 相关文章推荐
javascript中数组的冒泡排序使用示例
Dec 18 Javascript
javascript限制用户只能输汉字中文的方法
Nov 20 Javascript
JavaScript实现数字数组按照倒序排列的方法
Apr 06 Javascript
jQuery+HTML5加入购物车代码分享
Oct 29 Javascript
JS把内容动态插入到DIV的实现方法
Jul 19 Javascript
vue分类筛选filter方法简单实例
Mar 30 Javascript
基于hover的用法实例(推荐)
Jul 04 Javascript
Vue中v-for的数据分组实例
Mar 07 Javascript
AngularJs分页插件使用详解
Jun 30 Javascript
element-ui table span-method(行合并)的实现代码
Dec 20 Javascript
详解jQuery设置内容和属性
Apr 11 jQuery
使用js在layui中实现上传图片压缩
Jun 18 Javascript
asp.net 30分钟掌握无刷新 Repeater
Sep 16 #Javascript
jquer之ajaxQueue简单实现代码
Sep 15 #Javascript
js substr、substring和slice使用说明小记
Sep 15 #Javascript
javascript 闭包
Sep 15 #Javascript
用JQuery模仿淘宝的图片放大镜显示效果
Sep 15 #Javascript
document.getElementById介绍
Sep 13 #Javascript
动态创建样式表在各浏览器中的差异测试代码
Sep 13 #Javascript
You might like
ajax缓存问题解决途径
2006/12/06 PHP
PHP 导出数据到淘宝助手CSV的方法分享
2010/02/27 PHP
PHP IDE phpstorm 常用快捷键
2015/05/18 PHP
eclipse php wamp配置教程
2016/06/30 PHP
php+ajax实现带进度条的上传图片功能【附demo源码下载】
2016/09/14 PHP
PHP对称加密函数实现数据的加密解密
2016/10/27 PHP
Web跨浏览器进程通信(Web跨域)
2013/04/17 Javascript
javascript对JSON数据排序的3个例子
2014/04/12 Javascript
javascript生成随机颜色示例代码
2014/05/05 Javascript
JSON.stringify转换JSON时日期时间不准确的解决方法
2014/08/08 Javascript
jQuery实现验证年龄简单思路
2016/02/24 Javascript
AngularJS中的包含详细介绍及实现示例
2016/07/28 Javascript
JavaScript常用代码书写规范的超全面总结
2016/09/11 Javascript
Node.js Sequelize如何实现数据库的读写分离
2016/10/23 Javascript
JS实现根据用户输入分钟进行倒计时功能
2016/11/14 Javascript
Webpack优化配置缩小文件搜索范围
2017/12/25 Javascript
react的hooks的用法详解
2020/10/12 Javascript
web.py 十分钟创建简易博客实现代码
2016/04/22 Python
Python操作Access数据库基本步骤分析
2016/09/19 Python
详解python 拆包可迭代数据如tuple, list
2017/12/29 Python
使用python3+xlrd解析Excel的实例
2018/05/04 Python
浅谈利用numpy对矩阵进行归一化处理的方法
2018/07/11 Python
python 图像平移和旋转的实例
2019/01/10 Python
Pycharm Plugins加载失败问题解决方案
2020/11/28 Python
HTML5新增加的功能详解
2016/09/05 HTML / CSS
纪伊国屋泰国网上书店:Kinokuniya泰国
2017/12/24 全球购物
入党自我鉴定范文
2013/10/04 职场文书
初婚未育证明
2014/01/15 职场文书
法律七进实施方案
2014/03/15 职场文书
红旗渠导游词
2015/02/09 职场文书
大学生社区义工服务心得体会
2016/01/22 职场文书
小学一年级数学教学反思
2016/02/16 职场文书
JavaScript实现复选框全选功能
2021/04/11 Javascript
IDEA 链接Mysql数据库并执行查询操作的完整代码
2021/05/20 MySQL
MySQL分库分表详情
2021/09/25 MySQL
Python卷积神经网络图片分类框架详解分析
2021/11/07 Python