5

次のようなリクエストをよく受け取ります。

"Hey, can you reconcile this Excel spreadsheet with our database and 
fill in the additional info for the ones you find? We also need to know 
which ones are missing."

ID     Name     Client     AdditionalInfo
------------------------------------------
234    John     Client1
147    Mike     Client2
546    Mary     Client3
...
(Several hundred or thousand more rows)

そのような Excel スプレッドシートを取得して、SQL Server Management Studio 内の SQL データベースに結合する方法はありますか? 私は通常、 をコピーしIDて大量のINリストを作成しますが、これは明らかに理想とはほど遠いものです。次に、すべての行で 1 対 1 の一致が得られない場合でも、データを並べるタスクがあります。

SQL Server 2005 と Excel 2010 を使用しています。

Excel スプレッドシートをリンク サーバーとして追加しようとしましたが、クエリを実行すると、 'Ad Hoc Distributed Queries'ブロックされているため有効にする必要があるという警告が表示されました。それを有効にすることがどのようなマイナスの影響を与えるかはわかりません。

次に考えたのは、Excel の数式を使用して ExcelSELECT [Col_A], [Col_B], [Col_C] UNION ALLのすべての行を作成し、それを SSMS にコピーして参加できる一時テーブルを作成することでした...しかし、それでもかなり面倒で非効率的なハックのようです

4

2 に答える 2

5

そのために特別に作成されたデータベースのテーブルに Excel スプレッドシートをインポートできます。SSMS でデータベースを右クリックし、[タスク] -> [データのインポート] に移動して、データ ソースとして Excel を選択します。

于 2013-02-22T17:40:24.460 に答える
0

ExcelはSQLServerに直接接続できます。具体的には、MSQueryを使用します。これにより、SQLを使用してExcelワークシートをデータベースに対して直接結合できるようになります。

于 2013-02-22T18:00:49.280 に答える