我能够成功地将我的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
答案 0 :(得分:0)
您可以使用foreach创建数据表的行,并将所有项添加到数组或列表中。
比直接向数据源提供工作簿表更有效。如果存在字符串行,则可以在调试时看到。