Получение исключения при попытке заполнить данные данными из файла Excel - PullRequest
0 голосов
/ 09 марта 2020

Я реализовал код для загрузки и получения данных из файла Excel и поместил их в DataTable. Код обычно работает нормально, но иногда я получаю следующее исключение при вызове метода da.Fill (dt) : Внешний компонент выдал исключение .

Ниже кода, который я реализовал:

Protected Sub upload_button_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles upload_button.Click

    If Not (File1.PostedFile Is Nothing) Then
        Dim filename As String = getFileName(File1.PostedFile.FileName)
        Try
            If filename = "" Then
                uploadError.Visible = True
            Else
                uploadError.Visible = False
                Dim filepath As String = savePath & filename
                Dim fileExtension = Path.GetExtension(filepath)
                If fileExtension.ToLower <> ".xls" And fileExtension.ToLower <> ".xlsx" Then
                    uploadError.Text = "The file must have an excel type"
                    uploadError.Visible = True
                    successUpload.Visible = False
                Else
                    Dim postedFile = File1.PostedFile
                    postedFile.SaveAs(filepath)
                    While Not System.IO.File.Exists(filepath)
                        Thread.Sleep(1000)
                    End While
                    Dim constring = String.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=""Excel 12.0 Xml;HDR=YES""", filepath)
                    Dim dt As New DataTable
                    Dim con = New OleDbConnection(constring)
                    Dim da = New OleDbDataAdapter("select * from [Sheet1$]", con)

                    da.Fill(dt)
                End If
            End If
        Catch ex As InvalidOperationException
            Throw ex
        Catch ex As SystemException
            Throw ex
        Catch ex As Exception
            Throw ex
        End Try
    End If
End Sub

Не могли бы вы помочь мне определить причину исключения и устранить его?

Заранее спасибо

...