この記事では、Excel Add-In for MongoDB をつかって、Excel からデータを MongoDB に移行する方法を説明します。
CData Excel Add-In for MongoDB を使えば、Excel から直接MongoDB への編集や保存が可能になります。この記事では、Excel から MongoDB にデータを移行する方法を説明します。 MongoDB のデータを一度Excel にエクスポートして編集・データソースの一括更新を行えるだけではなく、Excel スプレッドシートに保存されているデータを一括でMongoDB にインポートすることも可能です。 今回の記事では、restaurants テーブルを使います。同じことが、CData Excel Add-In で取得できるすべてのテーブルに対して実行可能です。

接続の確立
MongoDB への接続には、Excel Add-in をインストールしたExcel の[CDATA]タブ→[MongoDB]アイコンをクリックします。
MongoDB への接続には、Server、Database、User、Password プロパティを設定します。MongoDB コレクションにテーブルとしてアクセスするには、自動スキーマ検出を使用することができます。もちろんスキーマ定義の.rsd ファイルを編集して自分でスキーマ定義を書くことも可能です。スキーマに縛られないフリーフォーマットクエリを投げることもできます。
MongoDB データの取得
MongoDB にデータを挿入するには、まず該当するMongoDB のテーブルを取得します。これによりExcel スプレッドシートとMongoDB のテーブルが連携した状態になります。取得したテーブルに対し変更、もしくは追加した部分は文字が赤でハイライトされます。
- CData リボンからMongoDB ボタンをクリックします。データ選択ウィザードが表示されます。
- テーブルもしくはビューメニューから、restaurants テーブルを選択します。
- [最大行数]に、取得したい最大行数を入力します。データの一括入力だけが目的の場合は1行だけを取得すれば十分です。リクエストどおりにクエリ欄にSQL クエリが表示されます。
- [シート名]に作成されるシートの名前を入力します。デフォルトでは、取得するテーブル名が新しいシート名になります。
MongoDB へのデータの挿入
データ取得後、既存のExcel で保存されているデータを取得したテーブルの下に追加していきます。
- テーブルの最終行の下の行に、他のシートを参照する式を入力します。例:=MyrestaurantsSheetInExcel!A1。
- MongoDB に挿入するセルを参照する式を入力し、セルを取得する行数分ドラグダウンします。テーブルに参照された値が表示されます。
- 挿入する行を選択して、CDATA リボンの[行を挿入]ボタンをクリックします。
各行の挿入が完了すると、Id の値が表示され、追加した値の文字が赤から黒に変わります。
