gpt4 book ai didi

asp.net - Microsoft Jet 数据库引擎找不到对象 'Sheet1$'

转载 作者:行者123 更新时间:2023-12-04 01:49:50 28 4
gpt4 key购买 nike

我正在尝试读取一个名为 Book1.xls 的电子表格文件,其中包含一个名为 Sheet1 的工作表

但是我收到以下错误:

The Microsoft Jet database engine could not find the object 'Sheet1$'. Make sure the object exists and that you spell its name and the path name correctly.



这是我正在使用的代码片段:
Dim dt As DataTable = New DataTable()
Select Case fileExt
Case ".csv"
Dim reader As New CsvReader
dt = reader.GetDataTable(filePath)
Case ".xls", ".xlsx"

Dim oleDbConnStr As String
Select Case fileExt
Case ".xls"
oleDbConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & filePath & ";Extended Properties=""Excel 8.0;HDR=Yes;IMEX=2"""
Case ".xlsx"
oleDbConnStr = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & filePath & ";Extended Properties=""Excel 12.0;HDR=Yes;IMEX=2"""
End Select



Using oleDbConn As OleDbConnection = New OleDbConnection(oleDbConnStr)
oleDbConn.Open()

Dim oleDbCmd As New OleDbCommand("SELECT * FROM [Sheet1$]", oleDbConn)
Dim oleDbDa As New OleDbDataAdapter(oleDbCmd)
oleDbDa.Fill(dt)

oleDbConn.Close()
End Using



End Select

我不明白为什么代码找不到我的工作表。这是为什么,我该如何解决?

最佳答案

我找到了问题所在。

电子表格似乎被保存到错误的位置,因此 filepath 没有指向存在的文件。

我一开始没有检查这个,因为我认为会出现不同的错误消息。诸如“找不到 Book1.xls”之类的东西。然而,如果它不存在,那么该消息只会说明它找不到工作表。

关于asp.net - Microsoft Jet 数据库引擎找不到对象 'Sheet1$',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10137970/

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