Delphi 将大量数据导出到Excel。多页
我想将超过2000000行导出到Excel(将来会越来越大)。一张纸可处理1048576行。我想在每张纸上写上300000(这样Excel就可以正常工作了) 我尝试创建OLE对象以将数据放在不同的工作表上。它适用于少量数据,但耗时太长,导致大量数据出错。 然后我尝试了导出到Excel的组件,它花费的时间更少,但在这种情况下我不知道如何在工作表上分发数据。 使用SQL在工作表上分发会导致内存填充错误Delphi 将大量数据导出到Excel。多页,delphi,google-sheets,export-to-excel,large-data,Delphi,Google Sheets,Export To Excel,Large Data,我想将超过2000000行导出到Excel(将来会越来越大)。一张纸可处理1048576行。我想在每张纸上写上300000(这样Excel就可以正常工作了) 我尝试创建OLE对象以将数据放在不同的工作表上。它适用于少量数据,但耗时太长,导致大量数据出错。 然后我尝试了导出到Excel的组件,它花费的时间更少,但在这种情况下我不知道如何在工作表上分发数据。 使用SQL在工作表上分发会导致内存填充错误 你能推荐其他方法吗?我们看不到你的代码,但我们只能想象你一次只写一个单元格。相反,您应该执行以下操
你能推荐其他方法吗?我们看不到你的代码,但我们只能想象你一次只写一个单元格。相反,您应该执行以下操作:
Range
对象,其中包含要填充的单元格范围范围
对象此外,自动化Excel可能不是生成Excel文件的最有效方法。直接生成文件而不调用Excel应用程序更好。对于非常大的文件,最有效的写入和读取格式是二进制OpenXML格式,扩展名为.xlsb。找到一个组件来生成这样的文件,或者将您自己的代码写入OpenXML格式规范。您尝试了哪个导出组件?您是否询问组件供应商如何在图纸上分发数据?Delphi有一个原生excel组件,它可以直接将数据写入excel文件。不,我没有。我想我会试试数组。谢谢您的回复,David,非常有用的建议。我发现,要创建非常大的Excel文件,将数据保存到逗号分隔的csv文件中,然后将该文件加载到Excel中,要比直接将文件加载到变量数组快几倍。@lkessler变量数组肯定很慢。但我不建议这样做。