我正在尝试将数据从 Excel 电子表格写入 SQL 数据库。我已经能够连接到 Excel 电子表格并读取数据,但我无法将数据插入到 SQL DB 表中。
当前代码如下
任何帮助最受赞赏。
Dim plmExcelCon As System.Data.OleDb.OleDbConnection
Dim ldExcelDS As System.Data.DataSet
Dim cmdLoadExcel As System.Data.OleDb.OleDbDataAdapter
Dim PrmPathExcelFile As String
PrmPathExcelFile = txtImportFileLocation.Text.ToString
plmExcelCon = New System.Data.OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + PrmPathExcelFile + ";Extended Properties=Excel 12.0;")
cmdLoadExcel = New System.Data.OleDb.OleDbDataAdapter("select * from [" + txtImportSheetName.Text + "$]", plmExcelCon)
ldExcelDS = New System.Data.DataSet
cmdLoadExcel.Fill(ldExcelDS)
dgvImportData.DataSource = ldExcelDS.Tables(0)
plmExcelCon.Close()
cmdINSERT.Parameters("@[SQL COLUMN NAME]").Value = [Not sure how to set value from datagrid view]
cnLD.Open()
cmdINSERT.ExecuteNonQuery()
cnLD.Close()
最佳答案
我的任务是从 Excel 中提取一些数据,对其进行修改,并将其放入 SQL 数据库中。下面是类似于我所做的事情:
Dim MyConnection As New System.Data.OleDb.OleDbConnection
Dim MyCommand As System.Data.OleDb.OleDbDataAdapter
MyConnection = New System.Data.OleDb.OleDbConnection ("provider=Microsoft.Jet.OLEDB.4.0; data source='" + fileLocation + " ';Extended Properties=Excel 8.0;")
' Select the data from the 'Samples' sheet of the workbook.
MyCommand = New System.Data.OleDb.OleDbDataAdapter("select * from [Samples$]", MyConnection)
Dim ds as new DataSet
MyCommand.Fill(ds)
MyConnection.Close()
这几乎是你已经拥有的,你说这可以从 Excel 中提取数据。从那里我将遍历 DataSet 并以这种方式将其添加到数据库中:
Dim dt as DataTable = ds.Tables(0)
For each row as DataRow in dt.Rows
dim value1 as String = row("columnName")
dim value2 as Double = row("columnName2")
'Write a function that connects to the database with your parameters
insertIntoDatabase(value1, value2)
Next
希望这是您需要的桥梁(访问 DataTable 的数据)。祝你好运!
关于sql - 将excel导入sql db表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1851076/