Ядро базы данных Microsoft Jet не смогло найти объект 'Sheet1$'

Я пытаюсь прочитать файл электронной таблицы с именем Book1.xls, который содержит рабочий лист с именем Sheet1

. Однако я получаю следующую ошибку:

Механизму базы данных Microsoft Jet не удалось найти объект «Sheet1$». . Убедитесь, что объект существует и что вы написали его имя и путь правильно назвать.

Вот фрагмент кода, который я использую:

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

Я не могу понять, почему код не может найти мой рабочий лист. Почему это так и как это решить?

11
задан Animesh 24 June 2013 в 09:55
поделиться

0 ответов

Другие вопросы по тегам:

Похожие вопросы: