75

MS SQL の新しいテーブルに貼り付けたい Excel の行がたくさんあります。簡単な方法はありますか?

4

10 に答える 10

83

SQL Server Management Studio をお持ちの場合は、マウスを使用して Excel からコピーし、Management Studio のテーブルに貼り付けるだけです。ただ

  1. 貼り付け先のテーブルに移動します。
  2. 「上位 200 行の編集」を選択します。
  3. 任意の場所を右クリックし、[貼り付け] を選択します。

これを行う前に、Excel と Management Studio の間で列を一致させる必要があります。また、Management Studio のテーブル デザイナーを使用して、編集不可能な列を最後(一番右) に配置する必要があります。

手順全体は数秒で完了し (セットアップと開始- 必ずしも実行する必要はありません)、SQL ステートメントは必要ありません。

空のデータベース テーブルと SSMS v18.1+について。

于 2009-10-13T12:54:48.297 に答える
39

私は過去にこのテクニックをうまく使っています:

Excel を使用して SQL Server の挿入物を生成する

(...) 列をスキップして (またはメモに使用して)、次の式のようなものを入力します。

="insert into tblyourtablename (yourkeyID_pk, intmine, strval) values ("&A4&", "&B4&", N'"&C4&"')"

これで、主キー (PK)、整数、および Unicode 文字列を含むテーブルの挿入ステートメントが作成されました。(...)

于 2008-11-25T11:06:10.707 に答える
19

今後の参考のために:

そうすることで、ExcelシートからSQLテーブルにデータをコピーして貼り付けることができます。

  1. Excelでデータを選択し、Ctrl + Cを押します
  2. SQL Server Management Studio でテーブルを右クリックし、[上位 200 行の編集] を選択します。
  3. 一番下までスクロールし、行ヘッダーをクリックして空の行全体を選択します
  4. Ctrl + Vを押してデータを貼り付けます

注: 多くの場合、テーブルには、自動生成/増分 ID を持つ ID 列である最初の列があります。データを貼り付けると、Excel で選択した左端の列が SSMS の左端の列に挿入され、ID 列にデータが挿入されます。これを回避するには、SSMS でその列をスキップするために、選択の左端に空の列を保持します。これにより、SSMS は自動生成された ID である既定のデータを挿入します。さらに、スキップする列と同じ序数の Excel シート選択の位置に空の列を配置することで、他の列をスキップできます。これにより、SSMS はデフォルト値 (またはデフォルト値が指定されていない場合はNULL ) を挿入します。

于 2013-08-19T14:20:36.590 に答える
3

最も簡単な方法は、insert ステートメントの構文を生成する計算列を XLS で作成することです。次に、これらの挿入をテキスト ファイルにコピーし、SQL で実行します。他の代替手段は、Excel 用のデータベース接続アドオンを購入し、VBA コードを記述して同じことを達成することです。

于 2008-11-25T10:57:07.137 に答える
2

一部のデータベースは、exelからエクスポートできるCSV(カンマ区切り値)ファイルからデータをインポートできると思います。または、少なくともcsvパーサーを使用してデータベースにインポートするのは非常に簡単です(自分の言語用のものを見つけてください。自分で作成しようとしないでください-見た目よりも難しいです)。

私は MS SQL に詳しくありませんが、MS SQL が直接サポートされていても驚かないでしょう。

いずれにせよ、Exel シートとデータベース テーブルの構造が類似している必要があると思います。

于 2008-11-25T10:59:42.560 に答える
0

インターフェイスが最後に使用したように機能する場合は、Excel で領域を選択してコピーし、SQL Server を開いて、Access の場合と同じようにデータをテーブルに貼り付けることができます。

または、Excel と SQL Server の間に ODBC リンクを設定することもできます。

于 2008-11-25T10:58:48.460 に答える
0

SSMSでエクスポート/インポートウィザードを使用しないのはなぜですか?

于 2008-11-25T11:14:24.433 に答える