インポートウィザードを使用せずに、SQLクエリを使用してsqlserver2008ExpressEditionの新しいテーブルにExcelファイルをインポートするにはどうすればよいですか。
ありがとうプラディ
インポートウィザードを使用せずに、SQLクエリを使用してsqlserver2008ExpressEditionの新しいテーブルにExcelファイルをインポートするにはどうすればよいですか。
ありがとうプラディ
これが可能なすべての方法を説明するマイクロソフトのナレッジベースの記事があります。
http://support.microsoft.com/kb/321686
OPENROWSET
ウィザードを使わずに、またはOPENDATASOURCE
を使用するのが最も簡単な方法だと思います。(分散クエリを参照)
SELECT * INTO XLImport4 FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=C:\test\xltest.xls', [Customers$])
OPENROWSETのドキュメントを参照してください。例は、ページの下にあります。
ExcelReaderFactory
エクセルを読むために使用する
以下のコードを使用できます
VB.netコード
Dim stream As FileStream = File.Open("YouExcelFilePath.xls", FileMode.Open, FileAccess.Read)
Dim excelReader As IExcelDataReader = ExcelReaderFactory.CreateBinaryReader(stream)
Dim result As DataSet = excelReader.AsDataSet()
excelReader.Close()
result.Dispose()
C#コード
FileStream stream = File.Open("YouExcelFilePath.xls", FileMode.Open, FileAccess.Read);
IExcelDataReader excelReader = ExcelReaderFactory.CreateBinaryReader(stream);
DataSet result = excelReader.AsDataSet();
excelReader.Close();
result.Dispose();
これで、Bulkcopyクラスを使用して一括インポートを実行できます。
また
xmlを作成し、データベースに送信します
また
OPENROWSET
ストアドプロシージャでExcelファイルを読み取り、データを挿入/更新するために使用します。
以下の記事に従って実装してください。
データベース名を右クリックしてタスクに移動し、[データのインポート]を選択します
ソースとして、前に作成したExcelファイルを選択し、そのパスを選択します
次のページで、宛先としてSQLサーバーを選択します