Programmerprogrammeranlang25 Ответов: 2

Я хочу загрузить файл excel в свой MS access с помощью VB.NET


Всем доброго дня!

Я пробую этот код для загрузки файла excel и хочу сохранить его в своей базе данных MS ACCESS, я действительно не знаю, что делать дальше. Вы можете мне помочь? Пожалуйста, обратитесь к моим кодам. Огромное спасибо

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

Imports System.Data.OleDb
Public Class Form1

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        Dim sFileName As String = "C:\Users\Administrator\Desktop\Book1.xls"
        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
    End Sub

End Class

san2debug

Вы хотите сохранить данные из листа excel в базу данных MS access? С какой проблемой вы сталкиваетесь из своего кода и дайте мне знать, как я могу вам помочь

Programmerprogrammeranlang25

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

Programmerprogrammeranlang25

У меня нет никаких проблем в моем коде, я просто хочу знать свой следующий шаг или код, который сохранит мой datagridview в моем MS Access.

2 Ответов

Рейтинг:
0

MadMyche

Здесь есть более старая статья о CodeProject, которая покажет вам основы. Он будет нуждаться в некотором обновлении; например, замените поставщика соединений JET 4.0 и замените его ACE 12 - таким же, как ваш исходный файл excel.
Массовая вставка записи для доступа[^]

У Google есть много ресурсов для этого save datatable to access database c#.


Рейтинг:
0

san2debug

Привет,

Я надеюсь, что вы хотите знать, как сохранить ваши данные Datagridview в вашей базе данных MS Access с помощью VB.Net вы можете поместить одну кнопку в свои формы windows, а затем написать операцию вставки внутри события нажатия кнопки следующим кодом

Private Sub btnInsert_Click(sender As System.Object, e As System.EventArgs) Handles btnInsert.Click
	For Each row As DataGridViewRow In dataGridView1.Rows
		
		Dim sFileName As String = "C:\Users\Administrator\Desktop\Book1.xls"
		Dim sConStr = String.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties='Excel 12.0;HDR=YES';", sFileName)
		
		Using connection As OleDbConnection = New OleDbConnection(sConStr)
			Dim sql As String = "INSERT INTO [Sheet1$] VALUES(@ColParameter1, @ColParameter2, @ColParameter3;"
			Using command As OleDbCommand = New OleDbCommand(sql, connection)
				command.Parameters.AddWithValue("@ColParameter1", row.Cells("ColumnName1").Value)
				command.Parameters.AddWithValue("@ColParameter2", row.Cells("ColumnName2").Value)
				command.Parameters.AddWithValue("@ColParameter3", row.Cells("ColumnName3").Value)
				connection.Open()
				command.ExecuteNonQuery()
				connection.Close()
			End Using
		End Using			
	Next
		 MessageBox.Show("Records added successfully.")
End Sub


Рекомендуемый:

1, Вы не пишете строку подключения и путь к файлу для каждого метода внутри, вместо этого вы можете написать общее объявление в верхней части класса.

2, Вы можете открыть объект соединения перед выполнением запроса или выполнить считыватель, а затем закрыть его после выполнения запроса или выполнить считыватель.

Я надеюсь, что это поможет вам


Programmerprogrammeranlang25

это только загрузка excel?