2010-04-26 49 views
0

我有一個應用程序可以編寫大小從1 GB到2 GB的巨大.csv文件。用Excel Interop打開一個巨大的.csv文件

我需要對文件進行顏色編碼並將其保存爲.xlsx。

所以我嘗試使用Excel Interop,它對小文件很好,但是當我嘗試用Excel打開一個1.3 GB的.csv文件時,出現Hresult錯誤。

任何關於如何使用Excel來完成此任務的想法,或者是否有其他方式來完成此任務。

+0

我在一兩週前遇到過一個問題,那裏Excel 2003無法處理每個工作表超過65536行,因此只能顯示部分文件(我們的解決方案是在文件達到65536行限制之前拆分文件)。對列數有類似的限制,但由於我沒有打到,我不知道那個nubmer是什麼;) 只是一個FYI ... – FrustratedWithFormsDesigner 2010-04-26 21:14:12

+0

你使用什麼Excel版本,什麼錯誤代碼你準確的? – 2010-04-26 21:20:32

回答

1

有些方法可以在不使用excel interop的情況下編寫和讀取excel文件。我很確定我記得微軟自己的excel文件格式有開放的規範。

+1

啊,沒關係,可能就像上面說的那樣,分割文件。 – 2010-04-26 21:14:05

5

你超過1M行嗎? 也許這就是HRESULT錯誤的原因。

64K行最大前Excel 2007中1M行於2007年

+0

Excel 2007也最大?我曾經從一位同事那裏聽說過「無限」,但我想他們只是沒有足夠的數據! ;) – FrustratedWithFormsDesigner 2010-04-26 21:21:20

+0

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

+2

@FrustratedWithFormsDesigner:當然,Excel 2007也有限制,任何機器都有有限的資源(這裏的一個邊界是32位進程的2 GB內存限制)。實際上,大型Excel工作表是Office 2010隨附64位版本的原因之一。 – 2010-04-26 21:34:31

0

感謝您的答覆傢伙,經過考慮之後,我決定簡單地使用.csv文件。