CData Software ハンズオン（ExcelからSalesforceのデータを取得&登録）

# はじめに：CData Excel Add-in for Salesforce とは？
Salesforce をはじめSaaS 利用のメリットの一つとして、これまで企業内の各人のデスクトップで管理されていたExcel データを企業やチームでしっかりとデータとして共有ができることがあげられます。それではExcel は悪モノなのでしょうか？　複数行のコピー＆ペースト、エンジニアでなくても使える関数、なにより10億人を超えるExcel を使い慣れたユーザーの存在などExcel はそれでも大変魅力的なUI です。

**Salesforce とExcel UI のいいとこ取り**
CData Excel Add-in for Salesforce では、デスクトップ版のExcel から、Salesforce のデータに直接アクセスし、Salesforce のデータの取得、更新、挿入、削除がExcel UI 状から行えます。複数行の一括貼り付け、複数行の一括置換などのExcel UIを活かした編集作業や、Excel テーブルに取得したSalesforce データのピボットテーブルやグラフでの利用などをAPI コーディング不要で実現します。

|  | Excel | Salesforce | Excel Add-in for Salesforce |
|:-:|:-:|:-:|:-:|
|データの一元管理   |×   |〇   |〇   |
|データの共有   | ×  | 〇  |〇   |
|フォームとレコードの区別   |×   |〇   |〇   |
|レコードの一括編集   |〇   |×   |〇   |
|関数   |〇   |△   |〇   |
|グラフ化   |〇   |△   |〇   |
|慣れ   |〇   |△   |〇   |

##Excel Add-in for Salesforce の利用例
- Salesforce の商品マスタや顧客マスタなどのマスタデータの一括編集などの管理
- Salesforce へのExcel でのコピー＆ペーストによるデータ挿入（日々の営業・管理データ入力など）
- Salesforce データのピボット分析やグラフでのビジュアライズ
- マクロなどを使ったExcel ベースのクラウドデータ連携アプリケーションの開発

# 使用するCData製品

- [CData Excel Add-In for Salesforce](http://www.cdata.com/jp/drivers/Salesforce/excel/)

# CData Excel Add-In for Salesforceのインストール

以下のサイトから評価版ビルドをダウンロードします。

- [ExcelAddIn for Salesforce](http://www.cdata.com/jp/drivers/Salesforce/excel/)

ダウンロードされたインストーラ形式(.exe)のファイルを起動します。
(注)Excelアプリケーションを閉じてから実行してください。
(注)途中オンラインでのアクティベーションが実行されるためインターネットアクセス出来る環境で行ってください。

下記のようなインストーラが起動するので、ライセンス契約書を確認した上で、デフォルト設定のままインストールを進めて完了させます。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/123181/ebd42378-eaa1-087a-e2c2-a238a712a104.png)

インストールが完了するとデフォルトブラウザが起動して製品ヘルプファイルが起動します。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/123181/0389e0ee-ef07-3158-bfb5-3e356d0d0f12.png)

# CData Excel Add-In for Salesforceの起動、および、接続設定

Excelアプリケーションを起動して、空白のブックを開きます。リボンにCDATAタブが追加されるので、「取得元Salesforce」アイコンをクリックします。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/123181/9864f700-4ced-2289-852a-fae63117bfe1.png)


起動した「接続ウィザード」内の下記の項目に、[Salesforce Sales Cloud 開発者アカウント、および、セキュリティトークン取得方法](https://qiita.com/kuwazzy/items/68bc7c4a5b36721cfe83)で事前に取得したSalesforceの接続情報を設定します。

| Salesforceの接続情報 | 設定項目 |
|:-----------------|:---------------|
| ユーザID | User |
| パスワード | Password |
| セキュリティートークン | Security Token |

※OAuth認証の場合は以下のパラメータをセットください。

| 設定項目 |
|:---------------|
| Callback URL |
| OAuth Client Id |
| OAuth Client Secret |


「接続テスト」ボタンをクリックします。下記のようなダイアログが表示されれば成功です。「接続ウィザード」の「OK」ボタンをクリックして保存します。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/123181/dacf4995-ee1f-67fc-bdac-69c9b1d11649.png)

# Salesforceデータの取得

「CDataデータ選択」ダイアログに戻り、Excelのシートにデータを取得したいテーブルを選択します。今回は、「取引先(Account)」テーブルを選択して「OK」ボタンをクリックします。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/123181/ad85febd-d781-8ab3-08ec-bf4353dd188b.png)

このタイミングで、SalesforceのAPIにアプリ内のデータを取得するリクエストを発行します。取得されたアプリのデータはExcelのセルにバインドされます。
(注)デフォルトだと、最大行数が100行に絞り込まれます。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/123181/a2ec3589-026c-125a-bd20-94180698104f.png)


# Salesforceへのデータ登録

Excelから入力した情報をSalesforceに登録してみます。「取引先(Account)」テーブルがバインドされているシートの「Name」をデータが格納されている一番下のレコードの次行に入力します。セルを変更してSalesforce側が反映されていない状態ではセル値の文字列が赤となります。追加したい行を選択して、リボン「CDATA」タブ内の「行の挿入」ボタンをクリックします。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/123181/b0c8ba7b-cd98-2e50-c309-e0c2e9889ffb.png)

すると、文字列は黒文字に戻ります。

それでは、Salesforceの取引先の画面を確認してみます。Excelから入力した内容で登録できていることを確認できます。

Salesforceの画面で、左上のアプリケーションランチャーを開き、「セールス」を選択します。
![image.png](https://qiita-image-store.s3.amazonaws.com/0/123181/ca777f0b-4376-541c-687c-8beed52be68a.png)

「取引先」タブ内の「すべての取引先」を選択します。

![image.png](https://qiita-image-store.s3.amazonaws.com/0/123181/508982df-76a4-0b0a-7bc3-9753c5a872a7.png)

ExcelからSalesforceのデータを取得、登録することが出来ました。