Programmerprogrammeranlang25 Ответов: 1

Как поместить все данные из загруженного файла excel в ms access с помощью VB.NET


Я пытаюсь поместить все данные из моего файла excel в datagridview и хочу, чтобы он сохранил их в базе данных MS access. Короче файл -&ГТ в Excel; практическое руководство ВБ.Нетто-&ГТ; МС доступ.
Заранее спасибо :)


Марк Джейк Балтазар
Специалисты по МИС

Что я уже пробовал:

У меня еще нет никаких кодов, но я уже начинаю исследовать.

MadMyche

У вас есть какие-то конкретные вопросы?
Если вы нарушите это вниз в 2 части, вы можете найти его проще в гугл запроса (например, "чтение Excel в datagridview В" и "объекта datagridview сохранить в MS доступа")

Programmerprogrammeranlang25

как я могу заполнить datagridview в vb.net из microsoft excel и после того, как я загрузил его, теперь, как я могу перенести данные из моего datagridview в microsoft access, мне нужны некоторые примеры кодов. Так что у меня будет идея. хотя у меня есть коды для загрузки excel с помощью dataset, но моя проблема в том, что все данные не были заполнены.

1 Ответов

Рейтинг:
0

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[^]