ExtJS4 动态生成的grid导出为excel示例
更新时间:2014年05月02日 10:01:14 作者:
解决了一个表格不能重复下载的小BUG,一个使用grid初始化发生的BUG,需要的朋友可以参考下
搜索了蛮久,找到一些例子,因为我是初学者的缘故大多不知道怎么使用。。
研究了一下那个源码,搞到现在终于实现了基本的下载。解决了一个表格不能重复下载的小BUG,一个使用grid初始化发生的BUG
下面记录一下步骤。说不定下次还有用
1.下载需要用到js代码,我已经上传
2.在你的html文件中加入引用,路径问题自己 注意下,下面是我的路径
<script type="text/javascript" src="../export/export-all.js" ></script>;
3.在你要用到的JS代码的Ext.onReady()的开始加上
Ext.Loader.setConfig({ enabled: true });
Ext.Loader.setPath('Ext.ux.exporter', '../export/exporter');
Ext.require([
'Ext.ux.exporter.Exporter'
]);
设置命名空间。。注意路径
4.在代码里面使用,在你需要下载功能的grid处合适的地方加入
xtype: 'exporterbutton',
// store: store
component: Ext.getCmp('gird_a')
这是两种初始化excel的方式,一种用store初始化,使用store的fields和data,因为我的store中的fields名字是英文,导出来的列名是英文所以我没有使用这种,而是直接用grid进行初始化。
下面说下在别人的代码基础上我修改的地方
1.在exporter.js第40行,改成了
var columns = Ext.Array.filter(grid.columnManager.columns,
原来的代码在第一个参数那里是grid.columns,后来我发现动态生成的grid在reconfigure之后columns放在columnManager.columns里,所以这么改
2.在workbook.js中77.78行,加了两句话
this.styles=[];
this.worksheets=[];
以上2行代码进行一些初始化,否则excel每次生成因为没有清空之前的数据导致格式错误
经过以上的简单修改已经可以对一个grid随意导出,并且支持对定制字段的表格导出,即导出表格显示的列
效果图在这里:
研究了一下那个源码,搞到现在终于实现了基本的下载。解决了一个表格不能重复下载的小BUG,一个使用grid初始化发生的BUG
下面记录一下步骤。说不定下次还有用
1.下载需要用到js代码,我已经上传
2.在你的html文件中加入引用,路径问题自己 注意下,下面是我的路径
复制代码 代码如下:
<script type="text/javascript" src="../export/export-all.js" ></script>;
3.在你要用到的JS代码的Ext.onReady()的开始加上
复制代码 代码如下:
Ext.Loader.setConfig({ enabled: true });
Ext.Loader.setPath('Ext.ux.exporter', '../export/exporter');
Ext.require([
'Ext.ux.exporter.Exporter'
]);
设置命名空间。。注意路径
4.在代码里面使用,在你需要下载功能的grid处合适的地方加入
复制代码 代码如下:
xtype: 'exporterbutton',
// store: store
component: Ext.getCmp('gird_a')
这是两种初始化excel的方式,一种用store初始化,使用store的fields和data,因为我的store中的fields名字是英文,导出来的列名是英文所以我没有使用这种,而是直接用grid进行初始化。
下面说下在别人的代码基础上我修改的地方
1.在exporter.js第40行,改成了
复制代码 代码如下:
var columns = Ext.Array.filter(grid.columnManager.columns,
原来的代码在第一个参数那里是grid.columns,后来我发现动态生成的grid在reconfigure之后columns放在columnManager.columns里,所以这么改
2.在workbook.js中77.78行,加了两句话
复制代码 代码如下:
this.styles=[];
this.worksheets=[];
以上2行代码进行一些初始化,否则excel每次生成因为没有清空之前的数据导致格式错误
经过以上的简单修改已经可以对一个grid随意导出,并且支持对定制字段的表格导出,即导出表格显示的列
效果图在这里:
相关文章
ext中store.load跟store.reload的区别示例介绍
这篇文章主要介绍了ext中store.load跟store.reload的区别,需要的朋友可以参考下2014-06-06解决Extjs 4 Panel作为Window组件的子组件时出现双重边框问题
Extjs的Panel和Window等组件在默认情况下是带边框的,通常情况下,单独使用没有什么关系,但是将Panel作为Window组件的子组件时就会出现双重边框的现象于是想办法将两重边框去掉,变成单边框,感兴趣的朋友可以了解下2013-01-01ExtJS Grid使用SimpleStore、多选框的方法
ExtJS 中Grid使用SimpleStore、多选框的方法,需要的朋友可以参考下。2009-11-11Extjs 继承Ext.data.Store不起作用原因分析及解决
有关Extjs 继承Ext.data.Store 不起作用的原因有很多种,接下来与大家分享下,本人遇到的,这个Store写出来之后 是不会起到作用的,感兴趣的朋友可以看下详细的原因及解决方法2013-04-04Extjs 4.x 得到form CheckBox 复选框的值
CheckBox(复选框)主要用来接收用户选择的选项,那么如何通过Extjs 4.x 得到form CheckBox的值呢?下面有个不错的方法,大家值得一看2014-05-05
最新评论