Ext导出Excel 小问题

   好几天前,我在网上找了有关于js导出Excel 的 demo ,后来找到了一个比较好的例子

 

2010090423541480.png

在此之前 我以为把代码丢上去就可以,没想到出现了error:'传给系统参数太小了',我就到网上乱查一顿。

还是后来自己终于摸索出来了,原来利用Response.ContentType是用来控制输出的文件类型的

 
  
response.setHeader( " Content-Type " , " application/vnd.ms- excel;charset=UTF-8 " );

开始的代码是利用Ext 2.0来做库文件所以在IE8中它没判断,而我直接移植过来用了Ext3.0在做库文件,所以出现了'传给系统参数太小了'

嘿嘿 加上Ext.isIE8就搞定了,而且大家要注意 jsp的字符编码要一致哦!要不然出现乱码的哦!!

代码:grid2excel

 

ContractedBlock.gif ExpandedBlockStart.gif 代码
 
   
var vExportContent = grid.getExcelXml();
if (Ext.isIE8 || Ext.isIE6 || Ext.isIE7 || Ext.isSafari || Ext.isSafari2 || Ext.isSafari3) {
var fd = Ext.get( ' frmDummy ' );
if ( ! fd) {
fd
= Ext.DomHelper.append(Ext.getBody(),{tag: ' form ' ,method: ' post ' ,id: ' frmDummy ' ,action: ' exportexcel.jsp ' , target: ' _blank ' ,name: ' frmDummy ' ,cls: ' x-hidden ' ,cn:[
{tag:
' input ' ,name: ' fileName ' ,id: ' fileName ' ,type: ' hidden ' },
{tag:
' input ' ,name: ' exportContent ' ,id: ' exportContent ' ,type: ' hidden ' }
]},
true );
}
fd.child(
' #fileName ' ).set({value:fileName});
fd.child(
' #exportContent ' ).set({value:vExportContent});
fd.dom.submit();
}
else {
document.location
= ' data:application/vnd.ms-excel;base64, ' + Base64.encode(vExportContent);
}

PS:这个控件其实也是应付一下简单的grid页面,取的是当前页面的数据,复杂的页面比如有分页、多表头的就不行了,在遇到renderer的时候 取的是store的值不是renderer返回的值。

 

转载于:https://www.cnblogs.com/xiaopen/archive/2010/09/05/grid2excel.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值