web-dev-qa-db-ja.com

Excelからクエリを使用してテーブルにデータをエクスポート/インポートする

私は、学んだことを学び、実行することに興味がある初心者です。私は最近SQL Server 2014に取り組んでおり、とても気に入っています。

70,000行と約10〜12列のExcelドキュメントがSQL Server(テーブル)にインポートされ、他のテーブルの既存のデータを比較/挿入/変更するためにそれを利用するいくつかのシナリオに遭遇しました。現在、GUIで利用可能な手動機能(右クリック>>タスク>>インポート)を使用して、必要に応じてインポートとエクスポートを行っています。ただし、同僚から、スクリプト/クエリを使用して同じ手順を実行できることを知らされました。

XLS、XLSX、CSV形式のファイルをテーブルにインポートするクエリを作成する正しい方法を誰かに教えてもらえますか?

追伸:OPENDATASOURCEOPENROWSETに関するいくつかの投稿も読んでみましたが、うまくいかず、常に手がかりのないエラーがいくつか出ます。したがって、他に方法があるかどうかを確認し、その手順を学ぶことに熱心です。

6
CrazieMaze

このタスクでOpenrowsetを何度も使用しました。

このコードはSQLでテーブルを作成します。

SELECT * INTO Excel_IMPORT
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0',
'Excel 12.0; Database=C:\Excel\Spreadsheet.xls; HDR=YES; IMEX=1',
'SELECT * FROM [Sheet1$]');

最初にテーブルを作成してから、SELECT INTOではなくINSERT INTOを使用するのが理想的です。これにより、列のデータ型を制御できます。

8
Geoff Dawdy