我目前正在构建一个项目,允许用户通过 Web 界面(内置)导入 Excel 文件,将文件保存到服务器(内置),然后根据一些用户选项将数据导入服务器上的 SQL 数据库(未建成)。
我根本不熟悉 VS 中的 SQL 数据库工具,所以我在两天的大部分时间里一直在摸索,只是想把所有东西都设置好。我很确定我需要使用 BulkCopy,但我不太确定如何使用它,而且我似乎找不到具体的例子来解释它与我的特定应用程序有关。
所以在我的 App_Data 文件夹中,我有一个 .mdf 标题“设备数据库”。在那个数据库中,我有三个表:“Galaxy Nexus”、“Hercules”和“Ruby”
我正在尝试将每个导入的 excel 表中的四个单元格导入到各自的表中。
我想将单元格(2,2)导入表格中的column1,将cell(2,3)导入column2,将cell(3,2)导入column3,将cell(1,1)导入column4。
我试图完成此操作的代码是:
Dim ExcelContentType As String = "application/vnd.ms-excel"
Dim Excel2010ContentType As String = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
Dim excelConnectionString As String = String.Format("Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=Excel 8.0", SavedFile)
Using connection As New OleDbConnection(excelConnectionString)
Dim Command As OleDbCommand = New OleDbCommand("Select * FROM [Sheet1$]", connection)
connection.Open()
Using reader As DbDataReader = Command.ExecuteReader()
Dim sqlConnectionString As String = "Data Source=.\sqlexpress;Initial Catalog=ExcelDB;Integrated Security=True"
Using bulkCopy As New SqlBulkCopy(sqlConnectionString)
bulkCopy.DestinationTableName = DropDown1.SelectedItem.ToString
bulkCopy.WriteToServer(reader)
End Using
End Using
End Using
我遇到的问题是,我不知道如何从 Excel 表中选择某些单元格进行导入,也不知道如何将这些单元格复制到指定表中的特定列。
任何和所有的帮助总是值得赞赏的。谢谢,扎克