Nih*_*ilo 3 vb.net oledb datagridview dataset
我想将一个 excel 数据表复制到我的表中,datagridview但我想从我的表所在的特定行(第 9 行)开始(在此之前有标题、评论等,它们不是表的一部分。)我我正在使用以下代码,但它不会从dataset.
MyConnection = New System.Data.OleDb.OleDbConnection("provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties=Excel 12.0;")
MyCommand = New System.Data.OleDb.OleDbDataAdapter("select * from [Sheet1$]", MyConnection)
DtSet = New System.Data.DataSet
MyCommand.Fill(DtSet)
DtSet.Tables(0).Rows(3).Delete()
DtSet.Tables(0).Rows(3).AcceptChanges()
dataGridArray(selectedTab).DataSource = DtSet.Tables(0)
'MsgBox("number of Row(s) - " & DtSet.Tables(0).Rows.Count)
MyConnection.Close()
Run Code Online (Sandbox Code Playgroud)
后delete()和acceptChanges,我仍然可以看到标题。
有谁可以看到我错在哪里?谢谢你。
您不想删除该行(在 excel 中),但您想将其从表中删除。
所以而不是:
DtSet.Tables(0).Rows(3).Delete()
Run Code Online (Sandbox Code Playgroud)
用:
DtSet.Tables(0).Rows.RemoveAt(3)
Run Code Online (Sandbox Code Playgroud)
但是由于您不想按照代码的建议删除一行,而是要删除第 9 行之前的所有行,请使用:
For i As Int32 = 1 To 8
DtSet.Tables(0).Rows.RemoveAt(0)
Next
Run Code Online (Sandbox Code Playgroud)