rss· 投稿· 设为首页· 加入收藏· 繁體版
当前位置: 火魔网 » 程序开发 » Javascript

在IE下到处ext的grid为excel

首先定义如下JS文件: Ext.Excel = function(config){
   //Ext.Excel.superclass.constructor.call(this, config);
   Ext.apply(this,config);
};
Ext.apply(Ext.Excel.prototype,{
         extGridToExcel : function(){  
         try{  
                    if(Ext.getCmp(this.gridId)){                           var oXL = new ActiveXObject("Excel.Application");   
                        var oWB = oXL.Workbooks.Add();   
                        var oSheet = oWB.ActiveSheet;                            var grid = Ext.getCmp(this.gridId);  
                        var store = grid.getStore();  
                        var recordCount = store.getCount();  
                        var view = grid.getView();  
                        var cm = grid.getColumnModel();  
                        var colCount = cm.getColumnCount();  
                        var temp_obj = [];  
                        for(var i = 0; i < colCount;i++){  
                            if(cm.isHidden(i)){  
                            }else{  
                                temp_obj.push(i);                           }  
                        for(var i = 1; i <= temp_obj.length;i++){  
                               oSheet.Cells(1,i).value = cm.getColumnHeader(temp_obj[i - 1]);                             
                        for(var i = 1 ; i <= recordCount; i++){  
                              for(var j = 1; j<= temp_obj.length; j++){  
                                     oSheet.Cells(i+1,j).value = view.getCell(i-1,temp_obj[j-1]).innerText;                            }  
                        if(this.sheetName){  
                              oSheet.Name = this.sheetName;                           oXL.UserControl = true;  
                        oXL.Visible = true;  
                    }else{  
                        Ext.Msg.alert('Error','明细数据grid没有创建成功!');  
                        return;             }catch(e){  
                    if(Ext){  
                        Ext.Msg.show({  
                            title:'提示',  
                            msg:'请设置IE的菜单\'工具\'->Internet选项->安全->自定义级别->\'对未标记为可安全执行脚本ActiveX控件初始化
                                 并执行脚本\'->选择[启用]&nbsp;&nbsp;就可以生成Excel',  
                            buttons:Ext.Msg.OK,  
                            icon:Ext.Msg.INFO                       }else{  
                        alert('不支持ExtJs框架');  
                        return;                   }   }); buttons:[{   text:'导出Excel',
              handler:function() { 
                   var excel = new Ext.Excel({gridId:'datagrid',sheetName:'中期生产计划--逆排'});
                   excel.extGridToExcel();          }]
顶一下
(0)
踩一下
(0)