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 JSQL,SQL无处不在,
May 05 Javascript
flexigrid 类似ext grid的JS表格代码
Jul 17 Javascript
Jquery实现简单的动画效果代码
Mar 18 Javascript
不同编码的页面表单数据乱码问题解决方法
Feb 15 Javascript
学习javascript面向对象 实例讲解面向对象选项卡
Jan 04 Javascript
JavaScript作用域示例详解
Jul 07 Javascript
AngularJS中controller控制器继承的使用方法
Nov 03 Javascript
微信小程序 可搜索的地址选择实现详解
Aug 28 Javascript
vue(2.x,3.0)配置跨域代理
Nov 27 Javascript
JS实现单张或多张图片持续无缝滚动的示例代码
May 10 Javascript
three.js 利用uv和ThreeBSP制作一个快递柜功能
Aug 18 Javascript
Vue+Element自定义纵向表格表头教程
Oct 26 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
web方式ftp
2006/10/09 PHP
php 遍历数据表数据并列表横向排列的代码
2009/09/05 PHP
php 修改、增加xml结点属性的实现代码
2013/10/22 PHP
迁移PHP版本到PHP7
2015/02/06 PHP
基于laravel制作APP接口(API)
2016/03/15 PHP
PHPCrawl爬虫库实现抓取酷狗歌单的方法示例
2017/12/21 PHP
wordpress自定义标签云与随机获取标签的方法详解
2019/03/22 PHP
PHP钩子实现方法解析
2019/05/21 PHP
JS之小练习代码
2008/10/12 Javascript
JavaScript prototype属性使用说明
2010/05/13 Javascript
javascript 防止刷新,后退,关闭
2010/08/07 Javascript
JQuery操作三大控件(下拉,单选,复选)的方法
2013/08/06 Javascript
JavaScript中json使用自己总结
2013/08/13 Javascript
JS实现表格数据各种搜索功能的方法
2015/03/03 Javascript
在easyUI开发中,出现jquery.easyui.min.js函数库问题的解决办法
2015/09/11 Javascript
jQuery实现商品活动倒计时
2015/10/16 Javascript
详解XMLHttpRequest(二)响应属性、二进制数据、监测上传下载进度
2016/09/14 Javascript
原生js编写焦点图效果
2016/12/08 Javascript
详解Vue2+Echarts实现多种图表数据可视化Dashboard(附源码)
2017/03/21 Javascript
整理关于Bootstrap列表组的慕课笔记
2017/03/29 Javascript
js实现图片轮播效果学习笔记
2017/07/26 Javascript
ES6数组与对象的解构赋值详解
2019/06/14 Javascript
springboot+vue+对接支付宝接口+二维码扫描支付功能(沙箱环境)
2020/10/15 Javascript
python 控制语句
2011/11/03 Python
Python制作豆瓣图片的爬虫
2017/12/28 Python
Python lambda表达式filter、map、reduce函数用法解析
2019/09/11 Python
利用Tensorflow构建和训练自己的CNN来做简单的验证码识别方式
2020/01/20 Python
西班牙宠物用品和食品网上商店:Tiendanimal
2019/06/06 全球购物
Hawes & Curtis官网:英国经典品牌
2019/07/27 全球购物
大学生应聘推荐信范文
2013/11/19 职场文书
英文简历中的自荐信范文
2013/12/14 职场文书
新闻专业毕业生英文求职信
2014/03/19 职场文书
小学生安全责任书
2014/07/25 职场文书
学期个人工作总结
2015/02/13 职场文书
公司开会通知
2015/04/20 职场文书
2016党风廉政建设心得体会范文
2016/01/25 职场文书