Maciej Los
Вам не нужен DataGridView-broker, чтобы иметь возможность импортировать данные из Excel в базу данных MS Access.
Вы можете использовать ADO.NET[^] - Для oledb[^] чтобы иметь возможность читать Excel и получать доступ к файлам.
Все, что вам нужно сделать, это:
1. Создание Метод oledbconnection[^]
2. Создание Объект oledbcommand[^]
3. выполните команду для И oledbdatareader
[^]
4. загрузите данные в объект DataTable[^]
5. набор свойства dataSource элемента управления datagridview в [^] в DataTable.
Например:
Dim sFileName As String = "D:\MyUsers.xlsx"
Dim sConStr = String.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties='Excel 12.0;HDR=YES';", sFileName)
Dim dt As DataTable = New DataTable()
'1.
Using connection AS OleDbConnection = New OleDbConnection(sConStr)
Dim sql As String = "SELECT * FROM [Sheet1$] WHERE UserName Like @UserName;"
connection.Open()
'2.
Using command As OleDbCommand= New OleDbCommand(sql, connection)
command.Parameters.AddWithValue("@UserName", "%j_L%")
'3.
Dim reader As OleDbDataReader = command.ExecuteReader()
'4.
dt.Load(reader)
reader.Close()
reader.Dispose()
End Using
End Using
'5.
Me.DataGridView1.DataSource = dt
Легко?
Метод получения данных из Excel или Access один и тот же. Единственное, что меняется, - это строка подключения для
Microsoft ACE OLEDB 12.0
провайдер, смотрите:
Строки подключения доступа - ConnectionStrings.com[
^]
Строки подключения Excel - ConnectionStrings.com[
^]
Пожалуйста, внимательно прочитайте Примечания об использовании поставщика ACE OLEDB в архитектуре x86/x64.
Больше:
Как привязать данные к элементу управления Windows Forms DataGridView | Microsoft Docs[
^]
[
Обновление]
Вы даже можете использовать только одно соединение - с базой данных MS Access, а затем захватить данные из MS Excel с помощью запроса, аналогичного приведенному ниже:
INSERT INTO YourTableName (Field1, Field2)
SELECT Field1, Field2
FROM [SheetName$] IN "c:\documents\xldata.xlsx" "EXCEL 12.0;";
Видеть:
Предложение IN (Microsoft Access SQL) | Microsoft Docs[
^]
Инструкция INSERT INTO (Microsoft Access SQL) | Microsoft Docs[
^]