Я использую приведенный ниже код для импорта листа Excel в DataGridView на VB.net. В приведенном ниже коде файл Excel с именем листа "PA" импортируется в связанный вид данных с именем dgvPA. Но в том же Excel у меня есть еще две вкладки с именами HP и MP, и я хотел бы импортировать их в одном экземпляре с помощью pa, но я не знаю, как это реализовать.
Public Shared Sub ImportAll(ByVal dgvPA As DataGridView, ByVal dgvHP As DataGridView, ByVal dgvMP As DataGridView)
Dim filepath As String
Dim ofd As OpenFileDialog = New OpenFileDialog With {
.Filter = "Excel Files | *.xlsx",
.Title = "Import Model Info Sheet"
}
Try
If ofd.ShowDialog() = DialogResult.OK Then
filepath = Path.GetFullPath(ofd.FileName)
Globals.ModelInfoSheet = filepath
End If
dgvPA.DataSource = Nothing
Dim MyConnection As OleDb.OleDbConnection
Dim MyCommand As OleDb.OleDbDataAdapter
MyConnection = New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source='" & Globals.ModelInfoSheet & "';Extended Properties=Excel 12.0;")
MyCommand = New OleDb.OleDbDataAdapter("select * from [" & My.Settings.str_infosheet__tabname_pa & "$]", MyConnection)
Dim DtSet As DataTable
DtSet = New DataTable
MyCommand.Fill(DtSet)
dgvPA.DataSource = DtSet
MyConnection.Close()
MessageBox.Show("File successfully imported")
frmMain.tabBuildLocal.SelectedTab = frmMain.tabBuildImportList
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub
для HP;
`MyCommand = New OleDb.OleDbDataAdapter("select * from [" & My.Settings.str_infosheet__tabname_hp & "$]", MyConnection)` and i'd like to import it in dgvHP
и для МП;
MyCommand = New OleDb.OleDbDataAdapter("select * from [" & My.Settings.str_infosheet__tabname_mp & "$]", MyConnection)
и я хотел бы импортировать его в dgvMP
Как я могу реализовать эти дополнительные вкладки с тем же экземпляром ImportAll. Когда я вызываю процедуру ImportAll, я хотел бы сразу заполнить представления данных, в противном случае я должен создать новые процедуры и импортировать их отдельно.