Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 导入excel数据_Vb.net_Datagridview_Import - Fatal编程技术网

Vb.net 导入excel数据

Vb.net 导入excel数据,vb.net,datagridview,import,Vb.net,Datagridview,Import,我能够成功地将excel导入datagridview,但只有一个小问题。我的excel文件中只有一列和10行。所有9行都是数字,只有最后一行是字符串 所有10个都显示在我的datagridview中,但最后一行为空 下面是我打开excel文件的功能 Public Sub OpenExcel(ByVal sFileName As String) Dim ConnectionStringTemplate As String = "Provider=Microsoft.Jet.OLEDB.4.

我能够成功地将excel导入datagridview,但只有一个小问题。我的excel文件中只有一列和10行。所有9行都是数字,只有最后一行是字符串

所有10个都显示在我的datagridview中,但最后一行为空

下面是我打开excel文件的功能

Public Sub OpenExcel(ByVal sFileName As String)
    Dim ConnectionStringTemplate As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _
                                             "Data Source={0};" & _
                                             "Extended Properties=""Excel 8.0;" & _
                                             "HDR=No;IMEX=1"""

    Dim ConnectionString As String = String.Format(ConnectionStringTemplate, sFileName)
    Dim sqlSelect As String = "SELECT * FROM [Sheet1$];" 'Where you have a sheet named Sheet1 
    Dim WorkBook As New DataSet
    Dim ExcelAdapter As System.Data.Common.DataAdapter = New System.Data.OleDb.OleDbDataAdapter(sqlSelect, ConnectionString)

    ExcelAdapter.Fill(WorkBook)

    frmMain.dgvCompose.DataSource = WorkBook.Tables(0)
    frmMain.staRecords.Text = "Total Records - " & frmMain.dgvCompose.RowCount
End Sub

您可以使用foreach枚举数据表的行,并将所有项添加到数组或列表中


它比直接将工作簿的表提供给数据源更有效。如果字符串行存在,您可以在调试时看到。

我已经编辑了您的标题。请参阅“”,其中的共识是“不,他们不应该”。