注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

享受编码

    的乐趣

 
 
 

日志

 
 

ExtJs 中的Grid导出到Excel  

2010-01-20 10:40:55|  分类: ExtJS |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

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;
}

//原创文章,转载请保留版权信息

  评论这张
 
阅读(2696)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017