为什么在VB.NET中的DataGrid中没有显示Excel数据?

时间:2016-04-05 02:59:54

标签: vb.net

我正在开发我的应用程序。在vb.net中,源代码如下,但我遇到的问题是数据在DataGridView中没有完全显示。

Private Sub Button1_Click(ByVal sender As System.Object,ByVal e As System.EventArgs)Handles Button1.Click         Dim conn As OleDb.OleDbConnection         Dim dta作为OleDb.OleDbDataAdapter         Dim dts As DataSet         Dim excelpath As String

    Dim ExcelQuery As String = "Select * From [IOT_NOVA$B12:S257]"

    Try

        If TextBox1.Text = "" Then
            MsgBox("Please select Excel file to upload!", vbExclamation)
            Exit Sub
        End If

        excelpath = TextBox1.Text
        conn = New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + excelpath + ";Extended Properties='Excel 12.0;HDR=YES;IMEX=1';")
        dta = New OleDb.OleDbDataAdapter(ExcelQuery, conn)

        DtSet = New DataTable
        dta.Fill(DtSet)


        DataGridView1.DataSource = DtSet

        conn.Close()
        conn.Dispose()

    Catch ex As Exception
        MsgBox(ex.Message, vbCritical)
    End Try

End Sub

如果遗漏某些来源,请验证我的来源吗?

谢谢。 爱.Net

2 个答案:

答案 0 :(得分:0)

您需要在设置DataGridview的DataSource时设置表名。

DataGridView1.DataSource = DtSet.Tables(0)

DataGridView1.DataSource = DtSet.Tables("IOT_NOVA")

答案 1 :(得分:0)

默认列框大小可能有问题。 看到这个问题: How to set max length of datagridview column 编辑:发现另一个问题-Excel数据驱动程序有问题。 在此线程中往下看: How do I create an Excel (.XLS and .XLSX) file in C# without installing Microsoft Office?