源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

ExtJS4 动态生成的grid导出为excel示例

  • 时间:2022-03-03 17:48 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:ExtJS4 动态生成的grid导出为excel示例
搜索了蛮久,找到一些例子,因为我是初学者的缘故大多不知道怎么使用。。 研究了一下那个源码,搞到现在终于实现了基本的下载。解决了一个表格不能重复下载的小BUG,一个使用grid初始化发生的BUG 下面记录一下步骤。说不定下次还有用 1.下载需要用到[url=http://xiazai.jb51.net/201405/yuanma/export(jb51.net).zip]js代码[/url],我已经上传  2.在你的html文件中加入引用,路径问题自己 注意下,下面是我的路径
[u]复制代码[/u] 代码如下:
<script type="text/javascript" src="../export/export-all.js" ></script>;
3.在你要用到的JS代码的Ext.onReady()的开始加上
[u]复制代码[/u] 代码如下:
Ext.Loader.setConfig({ enabled: true }); Ext.Loader.setPath('Ext.ux.exporter', '../export/exporter'); Ext.require([ 'Ext.ux.exporter.Exporter' ]);
设置命名空间。。注意路径 4.在代码里面使用,在你需要下载功能的grid处合适的地方加入
[u]复制代码[/u] 代码如下:
xtype: 'exporterbutton', // store: store component: Ext.getCmp('gird_a')
这是两种初始化excel的方式,一种用store初始化,使用store的fields和data,因为我的store中的fields名字是英文,导出来的列名是英文所以我没有使用这种,而是直接用grid进行初始化。 下面说下在别人的代码基础上我修改的地方 1.在exporter.js第40行,改成了
[u]复制代码[/u] 代码如下:
var columns = Ext.Array.filter(grid.columnManager.columns,
原来的代码在第一个参数那里是grid.columns,后来我发现动态生成的grid在reconfigure之后columns放在columnManager.columns里,所以这么改 2.在workbook.js中77.78行,加了两句话
[u]复制代码[/u] 代码如下:
this.styles=[]; this.worksheets=[];
以上2行代码进行一些初始化,否则excel每次生成因为没有清空之前的数据导致格式错误 经过以上的简单修改已经可以对一个grid随意导出,并且支持对定制字段的表格导出,即导出表格显示的列 效果图在这里: [img]http://files.jb51.net/file_images/article/201405/20140502100353.gif?20144210456[/img]   [img]http://files.jb51.net/file_images/article/201405/20140502100520.gif?20144210535[/img]  
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部