VB.net Visual Studio 2003从Excel表中读取数据



我正试图将Excel表中的数据读取到DataSet中,但遇到了一个错误:"没有为一个或多个必需参数给定值。"我做了一些研究,了解到当必需值为空(字符串为")或null时,通常会出现此错误。下面是我的代码。

cnExcel = New System.Data.OleDb.OleDbConnection( _
              "provider=Microsoft.Jet.OLEDB.4.0; " & _
              "data source=" & FileName & "; " & _
              "Extended Properties=Excel 5.0;")
cdImport = New System.Data.OleDb.OleDbDataAdapter( _
              "select * from [" & cSheetName & "$] order by StoreID, ItemID", cnExcel)
dsImport = New System.Data.DataSet
cdImport.Fill(dsImport)
cnExcel.Close()

该错误发生在cdImport.Fill(dsImport)上,可能是因为没有任何内容可以填充dsImport。

经过一些调试,我发现cnExcel的服务器版本字段是:error:发生了类型为{System.InvalidOperationException}的异常

我做错了什么?

万一有人想知道这是如何解决的:我只是把excel文件作为csv发送到我的服务器。然后,服务器在文件上运行一个存储过程,该过程将一个表返回给我的应用程序。然后从该表中填充一个数据集。

您可能需要在连接字符串的Extended Properties=Excel 5.0;部分加上额外的引号(有关更多信息,请参阅connectionstrings.com)

最新更新