巨大的数据导出到卓越。多张床单。 Delphi的

时间:2016-03-28 07:33:17

标签: excel delphi google-sheets export-to-excel large-data

我想将超过2 000 000行导出到excel(将来会变得更大)。一张纸处理1 048 576行。我想在每张纸上放30万张(以便excel可以正常工作)。

我尝试创建OLE对象以将数据放在不同的工作表上。它适用于少量数据,但耗时太长,导致大量数据出错。 然后我尝试了导出到excel的组件,花了更少的时间,但我不知道如何在这种情况下在工作表上分发数据。 使用SQL在工作表上分发会导致内存填充错误。

你能建议其他方法吗?

1 个答案:

答案 0 :(得分:3)

我们无法看到您的代码,但我们只能想象您一次编写一个单元格。相反,您应该执行以下操作:

  1. 将所有数据放入变体数组中。
  2. 创建一个Excel Range对象,其中包含要填充的单元格范围。
  3. 将变体数组分配给该Range对象。
  4. 这是使用Excel自动化执行块分配的有效方法。

    此外,自动化Excel可能不是生成Excel文件的最有效方法。您最好直接生成文件而无需调用Excel应用程序。对于非常大的文件,最有效的写入和读取格式是二进制OpenXML格式,扩展名为.xlsb。找到生成此类文件的组件,或者将您自己的代码编写为OpenXML格式规范。