您的位置:首页 > Web前端 > JavaScript

ExtJS4 动态生成grid出口excel(纯粹的接待)

2015-07-15 18:36 513 查看
搜索相当长的时间,寻找一些样本,因为我刚开始学习的原因,大多数人不知道怎么用。。

他曾在源代码。搞到现在终于实现了主下载。。

表的采集格不重复下载一个小BUG,一个使用grid初始化发生的BUG

以下记录一下步骤。。说不定下次还实用

1.下载须要用到js代码。我已经上传

http://download.csdn.net/detail/hu8471479/7281703

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任意导出,而且支持对定制字段的表格导出,即导出表格显示的列

效果图在这里:





定制字段生成的代码已经改进,速度提升了N倍,见我前面的文章

有问题能够留言,共同探讨 ,http://blog.csdn.net/decoderworld
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: