用Excel Interop打开一个巨大的.csv文件
我有一个应用程序可以编写大小从1 GB到2 GB的巨大.csv文件。用Excel Interop打开一个巨大的.csv文件
我需要对文件进行颜色编码并将其保存为.xlsx。
所以我尝试使用Excel Interop,它对小文件很好,但是当我尝试用Excel打开一个1.3 GB的.csv文件时,出现Hresult错误。
任何关于如何使用Excel来完成此任务的想法,或者是否有其他方式来完成此任务。
有些方法可以在不使用excel interop的情况下编写和读取excel文件。我很确定我记得微软自己的excel文件格式有开放的规范。
啊,没关系,可能就像上面说的那样,分割文件。 – 2010-04-26 21:14:05
你超过1M行吗? 也许这就是HRESULT错误的原因。
64K行最大前Excel 2007中1M行于2007年
Excel 2007也最大?我曾经从一位同事那里听说过“无限”,但我想他们只是没有足够的数据! ;) – FrustratedWithFormsDesigner 2010-04-26 21:21:20
http://office.microsoft.com/en-us/excel/ha100778231033.aspx - 在Excel 2007中,工作表大小为16,384列1,048,576行,但早期版本的Excel的工作表大小仅为256列通过65,536行。 – Joe 2010-04-26 21:33:40
@FrustratedWithFormsDesigner:当然,Excel 2007也有限制,任何机器都有有限的资源(这里的一个边界是32位进程的2 GB内存限制)。实际上,大型Excel工作表是Office 2010随附64位版本的原因之一。 – 2010-04-26 21:34:31
感谢您的答复家伙,经过考虑之后,我决定简单地使用.csv文件。
我在一两周前遇到过一个问题,那里Excel 2003无法处理每个工作表超过65536行,因此只能显示部分文件(我们的解决方案是在文件达到65536行限制之前拆分文件)。对列数有类似的限制,但由于我没有打到,我不知道那个nubmer是什么;) 只是一个FYI ... – FrustratedWithFormsDesigner 2010-04-26 21:14:12
你使用什么Excel版本,什么错误代码你准确的? – 2010-04-26 21:20:32