`

Ext grid 导出Excel

阅读更多

对于ext grid 导出excel  

 下面是个简单的列子哦

 js代码

var sendform="";
Ext.onReady(function(){
    var fm = Ext.form;
	var isDisplay=false;
    if(userType==2){
    	isDisplay=true;
    }
    var grid = null;
    var cm = new Ext.grid.ColumnModel({
        defaults: {
            sortable: true // columns are not sortable by default           
        },
        columns: [
        	 {
            	id:'description',
                header: '日期',
                dataIndex: 'billDate'
             },{
                header: '单号',
                dataIndex: 'billCode'
            },{
                header: '部门',
                dataIndex: 'departName'
            },{
                header: '专供客户',
                dataIndex: 'KHComSName'
            },{
                header: '供应商',
                dataIndex: 'ComSName'
            },{
                header: '仓库',
                dataIndex: 'storeName'
            },{
                header: '发票类型',
                dataIndex: 'taxRate'
            },{
                header: '物料编号',
                dataIndex: 'code'
            }, {
                header: '物料简称',
                dataIndex: 'shortName'
             }, {
                header: '型号',
                dataIndex: 'style'
             }, {
                header: '封装',
                dataIndex: 'APPROVALNO'
             },{
                header: '厂家',
                dataIndex: 'FACTORY'
            }, {
                header: '单位',
                dataIndex: 'unitName'
             },{
                header: '数量',
                dataIndex: 'unitCount'
             },{
                header: '单价',
                dataIndex: 'unitPrice',
                hidden:isDisplay,
                hideable:isDisplay
             },{
                header: '金额',
                dataIndex: 'jine',
                hidden:isDisplay,
                hideable:isDisplay
             },{
                header: '单价(不含税)',
                dataIndex: 'priceHan',
                hidden:isDisplay,
                hideable:isDisplay
             },{
                header: '金额(不含税)',
                dataIndex: 'jineHan',
                hidden:isDisplay,
                hideable:isDisplay
             },{
                header: '备注',
                dataIndex: 'memo'
             },{
                header: '操作员',
                dataIndex: 'userName'
             },{
                header: '业务员',
                dataIndex: 'emName'
             },{
                header: '审核人',
                dataIndex: 'userDef1'
             }
        ]
    });
     var zlUrl=getRootPath()+'servlet/ReportServlet?change=PROALONE';
     var store = new Ext.data.Store({
     	proxy: new Ext.data.HttpProxy({
             url: zlUrl
        }),
        reader: new Ext.data.JsonReader({
        	totalProperty: 'results',
            root: 'rows',
            fields: [
            	{name:'billDate'},
            	{name:'billCode'},
            	{name:'departName'},
            	{name:'KHComSName'},
            	{name:'ComSName'},
            	{name:'storeName'},
            	{name:'taxRate'},
                {name: 'code', mapping: 'code'},
                {name: 'shortName'},
                {name: 'style'},
                {name: 'APPROVALNO'},
                {name: 'FACTORY'},
                {name: 'unitName'},
                {name:'unitCount'},
                {name:'unitPrice'},
               
                {name: 'jine'},
                {name: 'priceHan'},
                {name: 'jineHan'},
                {name:'memo'},
                {name:'userName'},
            	{name:'emName'},
            	{name:'userDef1'}
            ]
        })
    });
     function gridToExce(fileName){//这里是主要的
        var vExportContent = grid.getExcelXml();
        if (Ext.isIE8||Ext.isIE6 || Ext.isIE7 || Ext.isSafari || Ext.isSafari2 || Ext.isSafari3) {
            var fd=Ext.get('frmDummy');
            if (!fd) {
                fd=Ext.DomHelper.append(Ext.getBody(),{tag:'form',method:'post',id:'frmDummy',action:'exportexcel.jsp', target:'_blank',name:'frmDummy',cls:'x-hidden',cn:[
                    {tag:'input',name:'fileName',id:'fileName',type:'hidden'}, 
					{tag:'input',name:'exportContent',id:'exportContent',type:'hidden'}
                ]},true);
            }
			 fd.child('#fileName').set({value:fileName}); 
            fd.child('#exportContent').set({value:vExportContent});
            fd.dom.submit();
        } else {
            document.location = 'data:application/vnd.ms-excel;base64,'+Base64.encode(vExportContent);
        }
			
	}
    grid = new Ext.grid.EditorGridPanel({
    	autoScroll:true,
        store: store,
        sm : new Ext.grid.RowSelectionModel(),
		cm: cm,
        renderTo: 'editor-grid',
        width: Ext.get("content").getWidth() ,
        height: Ext.get("content").getHeight(),
        autoExpandColumn : 'description',
        autoWidth:true,
        title: '采购订单查询',
        frame: true,
        viewConfig:{
        	forceFit:true,
			autoFill:true,
			sortAscText:'升序',
			sortDescText:'降序',
			columnsText:'显示列'
		},
        clicksToEdit: 1,
        tbar:[{
            text: '导出到Excel',
    		handler: function() {gridToExce('exportExcel')}
        },{
            text: '查询',
            handler:function(){displayture()}
           }
        ]
    });
    store.load({
    	params:{
          billdates:Ext.get('billdates').dom.value,
          billdatee:Ext.get('billdatee').dom.value,
          billCode:Ext.get('billCode').dom.value,
          departid:Ext.get('departid').dom.value,
          khwlid:Ext.get('khwlid').dom.value,
          wlid:Ext.get('wlid').dom.value,
          storeid:Ext.get('storeid').dom.value
        }
    });
    window.onresize = function(){ 
    	grid.setWidth(0); 
        grid.setHeight(0); 
        grid.setWidth(Ext.get("content").getWidth()); 
        grid.setHeight(Ext.get("content").getHeight()); 
	};
	
	
	
sendform=function(){
	displayfalse();
	store.load({
		params:{
          billdates:Ext.get('billdates').dom.value,
          billdatee:Ext.get('billdatee').dom.value,
          billCode:Ext.get('billCode').dom.value,
          departid:Ext.get('departid').dom.value,
          khwlid:Ext.get('khwlid').dom.value,
          wlid:Ext.get('wlid').dom.value,
          storeid:Ext.get('storeid').dom.value
        }
	});
}
    
});

 类代码exportexcel.jsp

<%@ page language="java" pageEncoding="UTF-8"%>
<%
String content = request.getParameter("exportContent");
String fileName = request.getParameter("fileName");   
content = new String(content.getBytes("ISO8859_1"));
request.setCharacterEncoding("UTF-8");
response.setContentType("text/html;charset=UTF-8");  
response.setHeader("Content-Type","application/force-download");
response.setHeader("Content-Type","application/vnd.ms-excel;charset=UTF-8");
response.setHeader("Content-Disposition","attachment;filename="+fileName+".xls");
out.print(content); 
%> 
 OK  就完成啦..
分享到:
评论
5 楼 skeinchin 2013-10-23  
skeinchin 写道
全是错 不想说了

好吧 我承认 其实是因为我用的是EXT4的原因。。。
4 楼 skeinchin 2013-10-23  
全是错 不想说了
3 楼 zhaolicric 2011-04-21  
2 楼 dengli19881102 2011-03-24  
还是提供一个可以运行的程序吧。OK ?
1 楼 dengli19881102 2011-03-24  
能否提供相关的包?

相关推荐

    Ext Grid 导出Excel

    总结来说,"Ext Grid 导出Excel"这个话题涵盖了从JavaScript数据结构到Excel文件格式转换的过程,涉及到的主要技术有Ext JS的Grid和Store组件,以及第三方库SheetJS。这个过程对于那些需要提供数据导出功能的Web应用...

    ext grid 导出 excel

    综上所述,EXT Grid导出Excel涉及到的技术主要包括EXT Grid的数据操作、XLSX.js库的使用、自定义按钮和事件处理、文件下载触发机制以及可能的样式转换和性能优化。通过这些技术,我们可以实现EXT Grid数据的便捷导出...

    Ext grid导出excel

    支持Ext3 Ext4导出excel,客户端导出表格,支持各种主流浏览器。

    Ext Grid导出Excel

    这篇博客“Ext Grid导出Excel”探讨的主题是如何将Ext Grid中的数据显示在Microsoft Excel文件中,这在数据分析、报告生成以及数据共享场景中非常常见。通过这个功能,用户可以方便地将网格数据导出为标准的Excel...

    EXT grid导出EXCEL

    EXT Grid导出Excel功能的核心是利用浏览器的Blob对象和FileSaver.js库。Blob对象可以用来存储二进制数据,而FileSaver.js则提供了在用户本地保存文件的能力。首先,我们需要确保EXT Grid的数据已经加载完成并且正确...

    extgrid导出excel

    "extgrid导出excel"这个主题是关于如何将ExtJS中的数据网格(Ext Grid)的数据导出到Excel文件中,方便用户进行数据管理和分析。 首先,让我们深入了解一下Ext Grid。Ext Grid是一种用于展示和操作大量结构化数据的...

    EXTgrid导出excel

    这个“EXTgrid导出excel”的例子正是为了解决这个问题。 首先,我们需要理解EXTgrid的基本结构。EXTgrid由一系列列定义、行数据和配置选项组成。列定义包括列头文本、数据字段、宽度等属性,而行数据则是实际存储在...

    ext grid 导出excel 代码实例

    在EXT Grid中,导出数据...以上就是EXT Grid导出Excel的基本流程和技术要点。在"engierManger"这个项目中,你可能需要结合具体的业务逻辑和代码实现这个功能。记住,始终要关注用户体验,确保导出过程快速且用户友好。

    jsp 实现的 EXT Grid 导出excel 例子

    总的来说,这个JSP实现的EXT Grid导出Excel例子是一个实用且常见的Web开发需求,它涉及到EXT JS的使用、AJAX通信、服务器端处理以及文件下载等多个技术点。通过这个例子,开发者可以学习到如何将前端的动态数据有效...

    从Ext grid导出Excel的代码和方法

    在IT行业中,尤其是在Web...总之,从`Ext.grid`导出Excel涉及到数据获取、XML构建、样式处理和浏览器文件操作等多个环节。通过熟练掌握这些技术,你可以为用户提供更强大、更灵活的数据导出功能,提升他们的使用体验。

    EXT Grid 导出Excel的另类实现,可以只导出Grid中显示的列

    此Demo不包含jar包,请自行添加 博文链接:https://yourgame.iteye.com/blog/228826

    ext实现导出excel的功能。

    在EXTJS这个强大的JavaScript框架中,实现导出Excel功能是一项常见的需求。EXTJS提供了一种高效的方法来将数据导出到Excel格式,使得用户能够方便地处理和分析数据。在这个场景下,我们可以从以下几个关键知识点入手...

    ExtJs grid导出Excel

    ExtJs 4.2版本提供了内置的`Ext.grid.feature.Exporter`插件,它允许你直接从Grid导出数据到CSV或Excel格式。以下是使用此方法的步骤: 1. 在Grid配置中,添加`Exporter`插件。你需要指定导出的类型(如'csv'或'...

    ext 4.2 grid导出excel 文件

    标题"ext 4.2 grid导出excel 文件"指的是使用Ext JS 4.2版本的grid组件功能,将其中的数据转换成Excel格式,这样用户就可以方便地下载和处理。这个过程通常涉及到JavaScript、服务器端支持以及可能的文件处理库。 ...

    extjs grid数据导出excel文件

    本文将深入讲解EXTJS Grid如何实现数据导出到Excel文件的功能。 首先,我们要明白EXTJS Grid的数据导出到Excel的过程通常涉及到以下几个步骤: 1. **获取Grid数据**:在EXTJS中,Grid的数据存储在Store对象中。要...

    EXTJS Grid导出Excel

    以上就是EXTJS Grid导出Excel的基本流程。在实际应用中,我们可能还需要考虑数据格式化、样式设置、错误处理等细节问题,以提供更好的用户体验。同时,由于EXTJS版本更新频繁,不同版本的EXTJS Grid导出功能可能会...

    普通方式和Ext方式导出Excel代码

    本篇将详细讲解两种常见的导出Excel的方法:普通方式和Ext方式。 首先,让我们从普通方式导出Excel开始。普通方式通常指的是使用服务器端编程语言(如Java、Python、C#等)生成Excel文件,然后将其作为HTTP响应返回...

    Ext Grid数据导出到Excel

    Ext.ptx.SlideMsg.msg("信息提示", "导出Excel成功!"); }, failure: function(response, request) { Ext.getBody().unmask(); Ext.MessageBox.alert("出现异常", response.responseText); } }); } ``` ### 3...

    Ext GridPanel导出Excel(改进)

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

Global site tag (gtag.js) - Google Analytics