Ext 中转化gird到excel的客户端方法

 在浏览器端直接转化grid到excel,可以理由ActiveX方法提取gird,不过只是用于IE5+ +office(Excel),  而且还需要设置IE安全设置。这个方法存在一些问题:1:对于一些设计的grid,第一行可能是空格,2:列宽不能设置。

希望大虾给与指点。。。

Ext.ux.Grid2Excel = {
 
 Save2Excel : function(grid)
 {
  var cm = grid.getColumnModel();
  var store = grid.getStore();
 
  var it = store.data.items;
  var rows = it.length;
 
  var   oXL   =   new   ActiveXObject("Excel.application");    
  var   oWB   =   oXL.Workbooks.Add();    
  var   oSheet   =   oWB.ActiveSheet;
 
  for (var i = 0; i < cm.getColumnCount(); i++) {
  
   if (!cm.isHidden(i)) {
    oSheet.Cells(1, i + 1).value = cm.getColumnHeader(i);
   }
  
   for (var j = 0; j < rows; j++) {
    r = it[j].data;
    var v = r[cm.getDataIndex(i)];
    var fld = store.recordType.prototype.fields.get(cm.getDataIndex(i));
    if(fld.type == 'date')//这个提示错误的时候可以注释掉这个判断。
    {
     v = v.format('Y-m-d');   
    }
   
    oSheet.Cells(2 + j, i + 1).value = v;
   }
  }
        oXL.DisplayAlerts = false;
  oXL.Save();
  oXL.DisplayAlerts = true;                   
  oXL.Quit();
  oXL = null;
    idTmr = window.setInterval("Cleanup();",1);
  }
};

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值