Импортированный файл Excel в datagridview добавил столбцы с f4 по f11, которых не было в файле excel - PullRequest
0 голосов
/ 23 сентября 2019

Я работаю над проектом, который требует, чтобы я импортировал данные из документа Excel в таблицу данных, сначала, когда я попробовал код, он работал хорошо, как и ожидалось, несколько дней назад у меня появилась ошибка " EXTERNAL TABLEНЕ В ОЖИДАЕМОМ ФОРМАТЕ", я открыл документ и сохранил, сохранил его как документ Excel. Ошибка исчезла, но проблема в том, что при загрузке файла Excel в таблицу данных теперь добавляются столбцы f4, f5 к f11.Как импортировать, не добавляя эти столбцы

Ниже приведен мой образец, спасибо

Private Sub btnLoadSheet_Click(sender As Object, e As EventArgs) Handles btnLoadSheet.Click

Try
    Dim excel103ConString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties='Excel 8.0;HDR={1}'"

    Dim excel107ConString As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties='Excel 8.0;HDR={1}'"


    Dim ocmd = New OleDbCommand()
    Dim oda = New OleDbDataAdapter()
    Dim ord As OleDbDataReader

            Dim chk As New DataGridViewCheckBoxColumn
            chk.HeaderText = "Select"
            chk.Width = "100"
            grdStock.Columns.Add(chk)

            Dim filePath As String = txtPath.Text
            Dim extension As String = Path.GetExtension(filePath)
            Dim conString As String = ""
            Dim sheetName As String = ""

            If extension = ".xls" Then
                conString = String.Format(excel103ConString, filePath, "YES")
            ElseIf extension = ".xlsx" Then
                conString = String.Format(excel103ConString, filePath, "YES")
            End If

            Dim con As New OleDbConnection(conString)
            If con.State = ConnectionState.Open Then con.Close()
            ocmd.Connection = con
            con.Open()

            Dim dt As DataTable
            dt = con.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, Nothing)
            sheetName = dt.Rows(0)("Table_Name")
            con.Close()

            Dim qry As String = "select * from [" + sheetName + "]"
            ocmd = New OleDbCommand(qry, con)
            ocmd.CommandType = CommandType.Text
            ocmd.Connection = con
            con.Open()

            oda.SelectCommand = ocmd
            dt = New DataTable()
            oda.Fill(dt)
            Dim res = oda
            grdStock.DataSource = dt
            con.Close()

            ' Dim xAlpp As excel


        Catch ex As Exception
            MsgBox(ex.Message, vbExclamation, Auteminc)
            grdStock.Columns.Clear()
        End Try
    End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...