通过ADO连接打开csv文件 – 列限制到255 /或只是使用另一种文件types?

我有一个很大的csv文件(大约800MB),我需要从Excel文件通过VBA访问(我使用Excel 2010)来运行一些计算。 现在我想避免直接打开文件Excel需要非常完成。

因此,我决定打开它作为一个ADO-Recordset在这篇文章中 (也在stackoverflow)不幸的是,似乎列数限制为255至less这是我得到的数字,当调用AdoRecordset.Fields.count方法。

我试图在这里search一些解决的post在stackoverflow中,发现:

  1. 不能从CSV文件传输超过255条logging进行访问
  2. 使用Microsoft Jet OLEDB的CSV列限制

没有人能回答第一个问题,我想知道是否有解决scheme,而不是在第二篇文章中描述 – 我想避免安装额外的软件,如果可能的话。

我的问题是:

  1. 有没有办法打开一个csv文件作为一个ADOlogging集有超过255可用字段/列 – 我需要大约3000列和10000行。
  2. 如果情况并非如此,还有没有其他方法可以在没有打开的情况下阅读csv-File(如果文件很大,这需要几年的时间)?

CSV文件不是强制性的,我实际上可以将数据转换为任何必要的格式。 访问将无法工作,因为我有3000列和10000行,MS Access不能处理3000列。 有没有可能更容易和更快的文件types? (用ExcelVBA打开和阅读)

这一定是频繁的问题,我想知道为什么没有在网上find解决scheme。

3000似乎很大,但有一个杂食:

 Dim FileNum As Integer Dim DataLine As String Dim SplitData() FileNum = FreeFile() Open "Filename" For Input As #FileNum While Not EOF(FileNum) Line Input #Filename, DataLine ' read in data 1 record at a time SplitData = Split(DataLine, ",") 'Process big array Wend 

您的数据每行读取到field1 SplitData(0)field3000 SplitData(2999) (零SplitData(2999)组)