如何将extjs网格数据导出为ex​​cel?

时间:2013-07-18 06:13:27

标签: extjs extjs4.2

我有一个包含大量记录的网格。我根据需要使用过滤器来过滤数据。但我想将过滤后的数据导出到Excel工作表以供进一步使用。

我浏览了一些可用的文章,但它们看起来不同,与最新的4.2版本不兼容。

请以简单的方式帮助我实现这一目标。

非常感谢!

3 个答案:

答案 0 :(得分:4)

答案 1 :(得分:3)

据我所知,如果没有跨浏览器方式的Serverside实现,这是不可能的。

从理论上讲,您可以通过从商店中读取当前记录并使用base64对其进行编码来创建OpenXML文档字符串。然后将其写入Data Uri。第一个不允许其他图像的内联数据的是IE,所以这不适用于所有IE浏览器版本,因为仅限于大小和图像。这就是没有最新实施的原因。

答案 2 :(得分:3)

成功实施了Ext JS 4的this方法。为了给它一个抽象类的灵活性,请按照说明操作:

  1. here获取函数并将它们提取到一个单独的类中 全球化。
  2. 全部替换"这个"函数引用全局函数调用。

  3. 添加" grid"从条目1开始的所有函数的参数 (downloadExcelXml())。

  4. 替换剩下的"这个"调用网格引用(因为函数应该在网格中起作用)。

  5. 现在在网格构造函数中添加此按钮并调用 像这样的处理程序downloadExcelXml():

    exportButton = {
      xtype: 'button',
      text: 'xls',
      listeners: {
        click: function (button, event, eOpts) {
          downloadExcelXml(
            false,
            "TableHeader",
            eOpts.data.grid);
        },
      data: {
        grid: this
      }
    };