私は現在、ユーザーがWebインターフェイス(ビルド済み)を介してExcelファイルをインポートできるプロジェクトを構築しています。これにより、ファイルがサーバーに保存され(ビルド済み)、いくつかのユーザーオプションに応じてサーバー上のSQLデータベースにデータがインポートされます。 (構築されていません)。
私はVS内のSQLデータベースツールにまったく精通していないので、すべてをセットアップしようとして2日間の大部分をいじくり回してきました。BulkCopyを使用する必要があることは確かですが、使用方法がよくわからず、特定のアプリケーションに関連する具体的な例が見つからないようです。
したがって、App_Dataフォルダーには、.mdfタイトル「DeviceDatabase」があります。そのデータベースには、「Galaxy Nexus」、「Hercules」、「Ruby」の3つのテーブルがあります。
インポートした各Excelシートからそれぞれのテーブルに4つのセルをインポートしようとしています。
テーブルのcolumn1にcell(2,2)、column2にcell(2,3)、column3にcell(3,2)、column4にcell(1,1)をインポートしたいと思います。
私がこれを達成しようとしているコードは次のとおりです。
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シートから特定のセルを選択してインポートする方法がわからず、それらのセルを指定されたテーブルの特定の列にコピーする方法もわかりません。
ありとあらゆる助けは常にありがたいです。ありがとう、ザック