对于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 就完成啦..
分享到:
相关推荐
总结来说,"Ext Grid 导出Excel"这个话题涵盖了从JavaScript数据结构到Excel文件格式转换的过程,涉及到的主要技术有Ext JS的Grid和Store组件,以及第三方库SheetJS。这个过程对于那些需要提供数据导出功能的Web应用...
综上所述,EXT Grid导出Excel涉及到的技术主要包括EXT Grid的数据操作、XLSX.js库的使用、自定义按钮和事件处理、文件下载触发机制以及可能的样式转换和性能优化。通过这些技术,我们可以实现EXT Grid数据的便捷导出...
支持Ext3 Ext4导出excel,客户端导出表格,支持各种主流浏览器。
这篇博客“Ext Grid导出Excel”探讨的主题是如何将Ext Grid中的数据显示在Microsoft Excel文件中,这在数据分析、报告生成以及数据共享场景中非常常见。通过这个功能,用户可以方便地将网格数据导出为标准的Excel...
EXT Grid导出Excel功能的核心是利用浏览器的Blob对象和FileSaver.js库。Blob对象可以用来存储二进制数据,而FileSaver.js则提供了在用户本地保存文件的能力。首先,我们需要确保EXT Grid的数据已经加载完成并且正确...
"extgrid导出excel"这个主题是关于如何将ExtJS中的数据网格(Ext Grid)的数据导出到Excel文件中,方便用户进行数据管理和分析。 首先,让我们深入了解一下Ext Grid。Ext Grid是一种用于展示和操作大量结构化数据的...
这个“EXTgrid导出excel”的例子正是为了解决这个问题。 首先,我们需要理解EXTgrid的基本结构。EXTgrid由一系列列定义、行数据和配置选项组成。列定义包括列头文本、数据字段、宽度等属性,而行数据则是实际存储在...
在EXT Grid中,导出数据...以上就是EXT Grid导出Excel的基本流程和技术要点。在"engierManger"这个项目中,你可能需要结合具体的业务逻辑和代码实现这个功能。记住,始终要关注用户体验,确保导出过程快速且用户友好。
总的来说,这个JSP实现的EXT Grid导出Excel例子是一个实用且常见的Web开发需求,它涉及到EXT JS的使用、AJAX通信、服务器端处理以及文件下载等多个技术点。通过这个例子,开发者可以学习到如何将前端的动态数据有效...
在IT行业中,尤其是在Web...总之,从`Ext.grid`导出Excel涉及到数据获取、XML构建、样式处理和浏览器文件操作等多个环节。通过熟练掌握这些技术,你可以为用户提供更强大、更灵活的数据导出功能,提升他们的使用体验。
此Demo不包含jar包,请自行添加 博文链接:https://yourgame.iteye.com/blog/228826
在EXTJS这个强大的JavaScript框架中,实现导出Excel功能是一项常见的需求。EXTJS提供了一种高效的方法来将数据导出到Excel格式,使得用户能够方便地处理和分析数据。在这个场景下,我们可以从以下几个关键知识点入手...
ExtJs 4.2版本提供了内置的`Ext.grid.feature.Exporter`插件,它允许你直接从Grid导出数据到CSV或Excel格式。以下是使用此方法的步骤: 1. 在Grid配置中,添加`Exporter`插件。你需要指定导出的类型(如'csv'或'...
标题"ext 4.2 grid导出excel 文件"指的是使用Ext JS 4.2版本的grid组件功能,将其中的数据转换成Excel格式,这样用户就可以方便地下载和处理。这个过程通常涉及到JavaScript、服务器端支持以及可能的文件处理库。 ...
本文将深入讲解EXTJS Grid如何实现数据导出到Excel文件的功能。 首先,我们要明白EXTJS Grid的数据导出到Excel的过程通常涉及到以下几个步骤: 1. **获取Grid数据**:在EXTJS中,Grid的数据存储在Store对象中。要...
以上就是EXTJS Grid导出Excel的基本流程。在实际应用中,我们可能还需要考虑数据格式化、样式设置、错误处理等细节问题,以提供更好的用户体验。同时,由于EXTJS版本更新频繁,不同版本的EXTJS Grid导出功能可能会...
本篇将详细讲解两种常见的导出Excel的方法:普通方式和Ext方式。 首先,让我们从普通方式导出Excel开始。普通方式通常指的是使用服务器端编程语言(如Java、Python、C#等)生成Excel文件,然后将其作为HTTP响应返回...
Ext.ptx.SlideMsg.msg("信息提示", "导出Excel成功!"); }, failure: function(response, request) { Ext.getBody().unmask(); Ext.MessageBox.alert("出现异常", response.responseText); } }); } ``` ### 3...
将页面的GridPanel中的数据导出到Excel中 测试Ext:版本2.2.1 支持GridSummary,GroupSummary和GroupHeaderPlugin插件 使用方法: 1)把三个JS文件引入到页面中 2)调用例句: var data2Excel = new Ext.icss.Data2...