我想将超过2 000 000行导出到excel(将来会变得更大)。一张纸处理1 048 576行。我想在每张纸上放30万张(以便excel可以正常工作)。
我尝试创建OLE对象以将数据放在不同的工作表上。它适用于少量数据,但耗时太长,导致大量数据出错。 然后我尝试了导出到excel的组件,花了更少的时间,但我不知道如何在这种情况下在工作表上分发数据。 使用SQL在工作表上分发会导致内存填充错误。
你能建议其他方法吗?
答案 0 :(得分:3)
我们无法看到您的代码,但我们只能想象您一次编写一个单元格。相反,您应该执行以下操作:
Range
对象,其中包含要填充的单元格范围。Range
对象。这是使用Excel自动化执行块分配的有效方法。
此外,自动化Excel可能不是生成Excel文件的最有效方法。您最好直接生成文件而无需调用Excel应用程序。对于非常大的文件,最有效的写入和读取格式是二进制OpenXML格式,扩展名为.xlsb。找到生成此类文件的组件,或者将您自己的代码编写为OpenXML格式规范。