`
kanpiaoxue
  • 浏览: 1796543 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Ext.grid.GridPanel 导出生成 Excel

阅读更多
function Publicjs(){
 	
 }
 Publicjs.prototype = {
 	/**
	 *
	 *直接由Ext的grid生成Excel
	 *[注意] 只支持IE
	 *param: gridId  Ext grid的ID
	 */
 	extGridToExcel : function(gridId,sheetName){
 	  try{
	 		if(Ext.getCmp(gridId)){
				/********************************************* grid 生成 Excel ***************************************/
				var oXL = new ActiveXObject("Excel.Application"); 
				var oWB = oXL.Workbooks.Add(); 
			    var oSheet = oWB.ActiveSheet; 
							
				var grid = Ext.getCmp(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(sheetName){
					oSheet.Name = 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;
	 		}
 		}
 	}
 };

 

分享到:
评论

相关推荐

    Ext GridPanel导出Excel(改进)

    将页面的GridPanel中的数据导出到Excel中 测试Ext:版本2.2.1 支持GridSummary,GroupSummary和GroupHeaderPlugin插件 使用方法: 1)把三个JS文件引入到页面中 2)调用例句: var data2Excel = new Ext.icss.Data2...

    ext gridpanel多层表头分组小计导出excel与Java后台交互全代码

    该例子实现了ext的gridpanel多层表头+分组+小计以及与Java后台交互的全代码。还有自适应浏览器大小的功能包括导出excel,里面有注释,可能注释不全。分别为group.jsp,totals.jsp页面。

    Ext 中实现Excel导出

    1. **导出当前Grid中的数据**:可以利用Ext的GridPanel组件提供的API来获取当前Grid中的所有数据,并转换为CSV格式,然后通过JavaScript的Blob对象和URL.createObjectURL方法下载这个文件。 2. **自定义导出逻辑**:...

    Ext增删改查和excel导出

    在"Ext增删改查和excel导出"这个主题中,我们将探讨如何在ExtJS应用中实现数据的CRUD操作(创建、读取、更新、删除)以及如何将数据导出为Excel格式。 1. 创建(Create) 在ExtJS中,可以使用GridPanel或FormPanel...

    extjs3把数据导出至excel

    var grid = new Ext.grid.GridPanel({ width: 600, height: 400, cm: columnModel, store: store }); ``` 3. **数据导出**:EXTJS3并没有内置直接将Grid数据导出到Excel的功能,但我们可以通过模拟浏览器的下载...

    Extjs2.02 Gridpanel

    尽管EXTJS GridPanel功能强大,但也有其局限性,比如在EXTJS 2.02版本中可能不支持列锁定和默认的统计功能,也不直接支持数据导出为Excel或PDF格式。然而,随着EXTJS版本的迭代,这些问题在后续版本中得到了改进。 ...

    Ext中用jxl导出全部数据和当前页数据的实现

    var grid = new Ext.grid.GridPanel({ store: store, columns: [ {header: '公司', dataIndex: 'company'}, {header: '价格', dataIndex: 'price', renderer: change}, {header: '变动', dataIndex: 'change',...

    EXTJS4导出excel示例

    EXTJS4是一款强大的...在提供的压缩包文件"extexcel"中,可能包含了完整的EXTJS4 Excel导出示例代码和运行环境,你可以下载后运行查看具体实现。通过深入理解这个示例,你将能更好地掌握EXTJS4中导出Excel的技巧。

    gridPanel添加按钮

    var grid = Ext.create('Ext.grid.Panel', { // 其他配置... tbar: toolbar // 将工具栏添加到顶部 }); ``` 2. **按钮事件处理**: 添加按钮后,我们需要为这些按钮定义点击事件。在JavaScript中,这通常通过监听...

    extjs打印功能

    var grid = new Ext.grid.GridPanel({ region: "center", renderTo: Ext.getBody(), store: centerstore, cm: centerrcm, sm: centersm, id: "centerid", height: 200, loadMask: { msg: 'ڼ,Ժ' }, ...

    GridPanel打印

    这个页面可以动态生成,将GridPanel的数据导出到一个适合打印的格式,如HTML表格,然后再进行渲染。预览页面可以提供用户查看和确认打印效果的机会。 "paging.html"、"array-grid.html"、"paging.js"和"array-grid....

    ext的表格控件使用方法

    比如,EXT 2.0版本不支持列锁定,没有默认的统计功能,也不能直接导出为Excel或PDF格式。这些限制可能需要开发者额外编写代码或者寻找其他库来补充。 EXT表格控件的使用涉及到许多配置和交互细节,包括但不限于以下...

    整理过的GRID综合应用

    5. **GRID框架与库**:在实际开发中,常见的GRID解决方案有Ext JS的GridPanel、jQuery UI的DataTables、AngularJS的UI-Grid等。这些库提供了丰富的API和配置选项,简化了开发流程,同时也提供了诸如拖放排序、行编辑...

Global site tag (gtag.js) - Google Analytics