对于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 就完成啦..
分享到:
相关推荐
支持Ext3 Ext4导出excel,客户端导出表格,支持各种主流浏览器。
NULL 博文链接:https://damen.iteye.com/blog/946039
ext导出excel,如需以文件的格式导出,还需做相应的修改。
EXT grid导出EXCEL,有事例,下载后直接可用
ext grid 导出excel 代码实例
ext导出到excel, 支持最新的Extjs 4.0,4.1,
NULL 博文链接:https://haidii.iteye.com/blog/571259
ext的grid导出excel的例子 很简单 直接放到tomcat下面就能用
使用对ExtGrid 的扩展,根据store里的数据生成xml格式的excel文件,然后导出。
程序是jsp ,可以直接导入myeclipse,中文没有乱码问题,ie、firefox中正常导出。
此Demo不包含jar包,请自行添加 博文链接:https://yourgame.iteye.com/blog/228826
ext 4.2 grid导出excel 文件 ,包括导出脚本,传输页面,及页面需要连接的按钮代码
ExtJs Grid导出Excel实例源码,后台C#。有分页功能,却仍可实现导出后台所有记录的功能
Grid数据导出到Excel文件,尝试了三种方法,并比较。
Extjs4前台前台grid导出excel
ext5.0 根据网络上的导出文件替换ext2.0中的函数和属性。 无选择项默认导出全表。...没有研究出data uri协议导出excel文件时动态修改文件名的方法,使用html5中的download属性可以,为了兼容html4未使用。
根据网络上已有的导出代码,替换ext2.0中的函数和属性为ext5.0版本。 无选择项默认导出全表。...没有研究出data uri协议导出excel文件时动态修改文件名的方法,使用html5中的download属性可以,为了兼容html4未使用。
var vExportContent = grid.getExcelXml(); if (Ext.isIE6 || Ext.isIE7 || Ext.isSafari || Ext.isSafari2 || Ext.isSafari3) { var fd=Ext.get('frmDummy'); if (!fd) { fd=Ext.DomHelper.append(Ext.getBody...
Extjs4 grid 导出为Excel 下载后放在网站(不放在网站中导出按钮不能会点击无响应,因为这里调用了swf文件)里可直接运行index.html测试 <link href='...