function(grid){
/**
* @ grid gridPanel 要导出的grid
* @ 客户端必须使用IE浏览器,并且安装了Excel2003
* @ Author : 逍遥君武
* @ CreatData : 2010-1-20
*/
//提取grid的列
var columns = grid.getColumnModel().config.columns ?
grid.getColumnModel().config.columns :
grid.getColumnModel().config;
//提取store以及相关参数
var store = grid.getStore();
var colCount = columns.length;//字段数量
var Cols = new Array(colCount);//为导出字段参数做准备
var storeCount = store.getCount();//记录数量
//初始化一个可用ID
var gridID = grid.getId()+'ExcelObj';
//OWC的HTML脚本
var sheetHtml = '<OBJECT id="' + gridID + '" height="100%" width="100%" classid="clsid:0002E559-0000-0000-C000-000000000046"><PARAM NAME="EnableAutoCalculate" VALUE="-1"><PARAM NAME="DisplayTitleBar" VALUE="0"><PARAM NAME="DisplayToolbar" VALUE="-1"><PARAM NAME="ViewableRange" VALUE="1:65536"></OBJECT>';
var win = new Ext.Window({
title: winTitle : 'ExcelWindows',
closable:true,
width:600,
height:350,
plain:true,
html:sheetHtml
});
win.show(this);
//从OWC的HTML脚本获得OWC对象
var xlBook = document.getElementById(gridID);
var xlsheet = xlBook.ActiveSheet;
//用grid的数据生成HTML的table
var tableHtml = "<table><tr>"
for(var i = 0; i < colCount; i++){//生成表头,并读取列参数
tableHtml += "<td width=\"" + columns[i].width + "\">" + columns[i].header + "</td>"
var col = new Object();
col.dateIndex = columns[i].dataIndex;
col.renderer = columns[i].renderer;
Cols[i] = col;
}
tableHtml += "</tr>"
//生成表格数据体
for(var i = 0; i < storeCount; i++){
var tmpTR = "";
tmpTR += "<tr>";
for(var j = 0; j < colCount; j++){
var date = store.getAt(i);
var tmpTD = "";
if(columns[j].renderer){
tmpTD = "<td>"+ (columns[j].renderer(date.get(columns[j].dataIndex))) +"</td>";
}else{
tmpTD = "<td>"+ (date.get(columns[j].dataIndex)) +"</td>";
}
tmpTR += tmpTD;
}
tmpTR += "</tr>";
tableHtml += tmpTR;
}
tableHtml += "</table>";
//将HTML数据绑定给OWC
xlBook.HTMLData = tableHtml;
//设置OWC的外观参数
var xlsheet = xlBook.ActiveSheet;
xlsheet.Columns.Font.Size = 9;
//销毁对象
xlBook=null;
xlsheet=null;
}
分享到:
相关推荐
支持Ext3 Ext4导出excel,客户端导出表格,支持各种主流浏览器。
NULL 博文链接:https://damen.iteye.com/blog/946039
ext导出excel,如需以文件的格式导出,还需做相应的修改。
EXT grid导出EXCEL,有事例,下载后直接可用
ext grid 导出excel 代码实例
NULL 博文链接:https://zhaolicric.iteye.com/blog/970655
ext导出到excel, 支持最新的Extjs 4.0,4.1,
NULL 博文链接:https://haidii.iteye.com/blog/571259
ext的grid导出excel的例子 很简单 直接放到tomcat下面就能用
使用对ExtGrid 的扩展,根据store里的数据生成xml格式的excel文件,然后导出。
程序是jsp ,可以直接导入myeclipse,中文没有乱码问题,ie、firefox中正常导出。
此Demo不包含jar包,请自行添加 博文链接:https://yourgame.iteye.com/blog/228826
ext 4.2 grid导出excel 文件 ,包括导出脚本,传输页面,及页面需要连接的按钮代码
ExtJs Grid导出Excel实例源码,后台C#。有分页功能,却仍可实现导出后台所有记录的功能
Grid数据导出到Excel文件,尝试了三种方法,并比较。
Extjs4前台前台grid导出excel
ext5.0 根据网络上的导出文件替换ext2.0中的函数和属性。 无选择项默认导出全表。...没有研究出data uri协议导出excel文件时动态修改文件名的方法,使用html5中的download属性可以,为了兼容html4未使用。
根据网络上已有的导出代码,替换ext2.0中的函数和属性为ext5.0版本。 无选择项默认导出全表。...没有研究出data uri协议导出excel文件时动态修改文件名的方法,使用html5中的download属性可以,为了兼容html4未使用。
var vExportContent = grid.getExcelXml(); if (Ext.isIE6 || Ext.isIE7 || Ext.isSafari || Ext.isSafari2 || Ext.isSafari3) { var fd=Ext.get('frmDummy'); if (!fd) { fd=Ext.DomHelper.append(Ext.getBody...
Extjs4 grid 导出为Excel 下载后放在网站(不放在网站中导出按钮不能会点击无响应,因为这里调用了swf文件)里可直接运行index.html测试 <link href='...