Ext grid导出Excel文件的问题

minsheng0825 2011-08-05 06:27:15
将grid数据导出成Excel,在网上找到的方法:创建一个隐藏form,其target设置为_blank,然后在其内部创建一个隐藏域存放xml数据,然后通过POST方式提交这个form即可


xtype : 'button',
iconCls : 'icon-nav',
width : 50,
id:'exportBtn',
disabled:true,
text : '导出Excel',
handler : function() {
var vExportContent = grid.getExcelXml();
if (Ext.isIE6 || Ext.isIE7 || Ext.isIE8 || 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:'../../jsp/item/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:vExportContent});
fd.child('#exportContent').set({value:vExportContent});
fd.dom.submit();
} else {
document.location = 'data:application/vnd.ms-excel;base64,'+Base64.encode(vExportContent);
}
}
}

JSP代码

<%
response.setHeader("Content-Type","application/force-download");
response.setHeader("Content-Type","application/vnd.ms-excel");
response.setHeader("Content-Disposition","attachment;filename=item.xls");
out.print(request.getParameter("exportContent"));
%>


另外还有一个公用js gridToExcel.js
这个是通用的,我就不全贴代码了、
现在的问题是,我导出来的Excel是错误的,打开没有数据
,请高手来帮帮忙!!!
...全文
267 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
baronv 2013-07-10
  • 打赏
  • 举报
回复
同上,wps显示问题有没有解决。
five_555 2012-02-17
  • 打赏
  • 举报
回复
目前用微软的office已经可以正确看到导出的excel了,但是安装WPS的office无法显示导出的excel,求解决,谢谢
five_555 2012-02-15
  • 打赏
  • 举报
回复
遇到同样问题,显示空白,并且按照楼主解决的方法也还是空白....为什么呢
minsheng109 2011-08-08
  • 打赏
  • 举报
回复
学习了
minsheng0825 2011-08-08
  • 打赏
  • 举报
回复
问题已经解决:

<%@ page language="java" pageEncoding="UTF-8"%>
<%
request.setCharacterEncoding("GBK");
response.setHeader("Content-Type","application/force-download");
response.setHeader("Content-Type","application/vnd.ms-excel");
response.setHeader("Content-Disposition","attachment;filename=item.xls");
out.print(request.getParameter("exportContent"));
%>
老狗 2011-08-08
  • 打赏
  • 举报
回复
用jxl在后台生成excel返回吧
zn85600301 2011-08-08
  • 打赏
  • 举报
回复
你贴的代码根本不是关键

导出主要就是2个问题 一个是生成excel 一个是返回给浏览器
你先自己看看再生成excel时报的什么错 网上很多poi或者jxl创建excel的例子
angeith 2011-08-08
  • 打赏
  • 举报
回复
ext grid里的数据存到store里,对store里的数据进行解析就行了啊
minsheng0825 2011-08-08
  • 打赏
  • 举报
回复
没人知道么?

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧