导入excel数据

时间:2014-01-13 04:58:58

标签: 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.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

1 个答案:

答案 0 :(得分:0)

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

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