VB.NET – OleDbException说插入到Excel电子表格时,电子表格已满

我有一个VB.Net程序读取平面文件,然后逐行parsing,将数据格式化成Excel工作簿中的不同电子表格(每行可以是任何10多种不同的loggingtypes,所以我parsing并放入适当的Excel片)。

对于较小的平面文件(小于10mb),parsing器效果很好。 但是,我正在尝试超过120MB(400K +行)的文件。 在运行时,我将得到一个OleDBException,表示电子表格已满。 现在我相当确信,Excel可以处理比平面文件更大的数据集。 所以我认为这个例外并不能告诉我真正发生的事情。

我打开一个连接,然后parsing文件中的每一行,将每行插入到excel文件中。 我认为打开/closures每个插件之间的连接性能不佳。 这可能是造成这个问题吗? 任何想法我需要做什么来处理这样一个大文件? 有些情况下,平面文件可以超过500MB。

要实际插入到Excel中,我只是做下面的事情(我构build一个基于行和值的parsing的值的SQL查询):
Dim conn As New OleDbConnection()
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + ExportLocation.Text + "\" + importFileName + "-PVF.xls;Extended Properties=""Excel 8.0;HDR=YES"""
conn.Open()

Dim cmd1 As New OleDbCommand()
cmd1.Connection = conn

…parsing器代码…

cmd1.CommandText = "INSERT INTO " + rowType + " values (" + currentRowString + ")"
cmd1.ExecuteNonQuery()

Excel 8.0与Excel 97相同,最多允许65,536行。 你超过了这个。