ExtJs Grid导出到Excel(修正版)
2011-03-20 00:29
435 查看
ExtJs Grid导出到Excel(修正版)
Posted 周日,03/22/2009 - 23:13 by admin以下的几个问题我都已经整理和修改:
1、没有考虑到含有序号和选择框的grid,
2、utf8转换bug.
3、宽度的bug
4、不支持ie6、ie7和Safari
修改后的代码见附件的gridToExcel.js.zip
注:我的文件编码都是utf8格式的(no bom),需要其它格式的请自行修改。
使用方法更简单,不需要定义linkbutton,直接使用标准的button
view source
print?
01.
new
Ext.Button({
02.
text:
'导出到Excel'
,
03.
handle:
function
() {
04.
var
vExportContent = grid.getExcelXml();
05.
if
(Ext.isIE6 || Ext.isIE7 || Ext.isSafari || Ext.isSafari2 || Ext.isSafari3) {
06.
if
(! Ext.fly(
'frmDummy'
)) {
07.
var
frm = document.createElement(
'form'
);
08.
frm.id =
'frmDummy'
;
09.
frm.name = id;
10.
frm.className =
'x-hidden'
;
11.
document.body.appendChild(frm);
12.
}
13.
Ext.Ajax.request({
14.
url:
'/exportexcel.php'
,
15.
method:
'POST'
,
16.
form: Ext.fly(
'frmDummy'
),
17.
callback:
function
(o,s,r) {
18.
//alert(r.responseText);
19.
},
20.
isUpload:
true
,
21.
params: {exportContent: vExportContent}
22.
})
23.
}
else
{
24.
document.location =
'data:application/vnd.ms-excel;base64,'
+ Base64.encode(vExportContent);
25.
}
26.
});
以上以php为例,其它语言方法相同
exportexcel.php
view source
print?
01.
<?php
02.
header(
"Pragma: public"
);
03.
header(
"Expires: 0"
);
// set expiration time
04.
header(
"Cache-Control: must-revalidate,post-check=0,pre-check=0"
);
05.
header(
"Content-Type: application/force-download"
);
06.
header(
'Content-type: application/vnd.ms-excel'
);
07.
header(
"Content-Disposition:attachment;filename=export"
);
08.
echo $_REQUEST[
'exportContent'
];
09.
?>
相关文章推荐
- ExtJS4 动态生成的grid导出为excel(纯前台)
- Extjs4---grid导出excel文件,前台导出
- ExtJS4.x Grid导出到Excel(详解)
- Extjs — Grid数据导出成Excel
- ExtJS 给GridToExcel.js 添加分组GridPanel导出功能
- ExtJS4.x Grid导出到Excel(详解)
- [ExtJS5学习笔记]第三十三节 sencha extjs 5 grid表格导出excel
- extjs grid 分页 导出 excel
- Extjs将GridPanel中的数据导出到Excel的方法
- ExtJs 2.2 Grid导出Excel的解决方案(支持ie6,ie7,firefox2.0)
- ExtJs6.0之Grid前端导出Excel
- extjs4 前台导出grid数据 生成excel,数据量大后台无法接收到数据
- [ExtJS5学习笔记]第三十四节 sencha extjs 5 grid表格之java后台导出excel
- [ExtJS5学习笔记]第三十四节 sencha extjs 5 grid表格之java后台导出excel
- [ExtJS5学习笔记]第三十四节 sencha extjs 5 grid表格之java后台导出excel
- [ExtJS5学习笔记]第三十四节 sencha extjs 5 grid表格之java后台导出excel
- ExtJS:Grid数据导出至excel实例
- [ExtJS5学习笔记]第三十三节 sencha extjs 5 grid表格导出excel
- ExtJS:Grid数据导出至excel实例
- ExtJS4 动态生成的grid导出为excel示例