gpt4 book ai didi

VB.NET - 插入 Excel 电子表格时出现 OleDbException 说电子表格已满

转载 作者:行者123 更新时间:2023-12-04 22:10:23 25 4
gpt4 key购买 nike

我有一个 VB.Net 程序,它读取一个平面文件,然后逐行解析,将数据格式化为 excel 工作簿中的不同电子表格(每行可以是任何 10 多种不同的记录类型,所以我解析并放入适当的 excel床单)。

对于较小的平面文件(小于 10mb),解析器工作得很好。但是,我正在对超过 120mb(400k+ 行)的文件进行尝试。运行时,我会收到一个 OleDBException,说明电子表格已满。现在我非常有信心 Excel 可以处理比平面文件大得多的数据集。所以我认为这个异常(exception)并没有给我关于真正发生的事情的真实故事。

我打开一个连接,然后解析文件中的每一行,将每一行插入到 excel 文件中。我认为打开/关闭每个插入之间的连接会影响性能。这会导致问题吗?任何想法我需要做什么来处理这么大的文件?在某些情况下,平面文件可能超过 500mb。

要实际插入到 excel 中,我只是在执行以下操作(我根据行的类型和解析的值构造了一个 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 ...解析器代码...cmd1.CommandText = "INSERT INTO " + rowType + " values (" + currentRowString + ")"cmd1.ExecuteNonQuery()

最佳答案

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

关于VB.NET - 插入 Excel 电子表格时出现 OleDbException 说电子表格已满,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8098250/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com