7

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

我浏览了一些可用的文章,但它们似乎不同并且与最新的 4.2 版本不兼容。

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

非常感谢!

4

3 回答 3

3

为 Ext JS 4成功实现了这种方法。要赋予它抽象类的灵活性,请遵循以下说明:

  1. 从这里获取函数并将它们作为全局提取到一个单独的类中。
  2. 将所有“this”函数引用替换为全局函数调用。

  3. 将“grid”参数添加到从条目一开始的所有函数(downloadExcelXml())。

  4. 将剩余的“this”调用替换为网格引用(因为函数应该在网格内起作用)。

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

    exportButton = {
      xtype: 'button',
      text: 'xls',
      listeners: {
        click: function (button, event, eOpts) {
          downloadExcelXml(
            false,
            "TableHeader",
            eOpts.data.grid);
        },
      data: {
        grid: this
      }
    };
    
于 2015-04-21T08:45:07.350 回答
3

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

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

于 2013-07-18T07:05:38.053 回答