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 相关文章推荐
JQUBar 基于JQUERY的柱状图插件
Nov 23 Javascript
ASP.NET jQuery 实例7 通过jQuery来获取DropDownList的Text/Value属性值
Feb 03 Javascript
jQuery:节点(插入,复制,替换,删除)操作
Mar 04 Javascript
js判断鼠标同时离开两个div的思路及代码
May 31 Javascript
javaScript 页面自动加载事件详解
Feb 10 Javascript
javascript的解析执行顺序在各个浏览器中的不同
Mar 17 Javascript
javascript实例分享---具有立体效果的图片特效
Jun 08 Javascript
js判断是否为空和typeof的用法(详解)
Oct 07 Javascript
如何使用vuejs实现更好的Form validation?
Apr 07 Javascript
angularjs 缓存的使用详解
Mar 19 Javascript
原生Javascript+HTML5一步步实现拖拽排序
Jun 12 Javascript
JavaScript流程控制(分支)
Dec 06 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
php 获取客户端的真实ip
2009/11/30 PHP
解析在PHP中使用全局变量的几种方法
2013/06/24 PHP
基于CI(CodeIgniter)框架实现购物车功能的方法
2018/04/09 PHP
基本jquery的控制tabs打开的数量的代码
2010/10/17 Javascript
jQuery源码分析之jQuery中的循环技巧详解
2014/09/06 Javascript
jQuery取消特定的click事件
2016/02/29 Javascript
Bootstrap Img 图片样式(推荐)
2016/12/13 Javascript
自动适应iframe右边的高度
2016/12/22 Javascript
js实现五星评价功能
2017/03/08 Javascript
用jQuery实现圆点图片轮播效果
2017/03/19 Javascript
angularJs的ng-class切换class
2017/06/23 Javascript
JS扁平化输出数组的2种方法解析
2019/09/17 Javascript
Python字符转换
2008/09/06 Python
Python笔记(叁)继续学习
2012/10/24 Python
python日期相关操作实例小结
2019/06/24 Python
Python使用docx模块实现刷题功能代码
2020/02/13 Python
将数据集制作成VOC数据集格式的实例
2020/02/17 Python
Python常用数字处理基本操作汇总
2020/09/10 Python
python中子类与父类的关系基础知识点
2021/02/02 Python
经济学人订阅:The Economist
2018/07/19 全球购物
世界领先的电子书网站:eBooks.com(在线购买小说、非小说和教科书)
2019/03/30 全球购物
村委会贫困证明
2014/01/14 职场文书
人力管理专业毕业生求职信
2014/02/27 职场文书
合伙经营协议书
2014/04/18 职场文书
灰雀教学反思
2014/04/28 职场文书
办公室领导干部作风整顿个人整改措施
2014/09/17 职场文书
2014年话务员工作总结
2014/11/19 职场文书
2014年财政局工作总结
2014/12/09 职场文书
酒店辞职信怎么写
2015/02/27 职场文书
英语辞职信怎么写
2015/02/28 职场文书
《叶问2》观后感
2015/06/15 职场文书
观看《信仰》心得体会
2016/01/15 职场文书
22句经典语录:送给优柔寡断和胡思乱想的朋友们
2019/12/13 职场文书
python中Matplotlib绘制直线的实例代码
2021/07/04 Python
Python 数据科学 Matplotlib图库详解
2021/07/07 Python
为什么RedisCluster设计成16384个槽
2021/09/25 Redis