Excelのデータをkintoneに登録したい!!
もちろん、Excelの文字データのみであれば、kintoneに一括登録することはブラウザ上からもできます。
が、そのExcelに画像が貼られたファイルの場合はどうでしょう。
文字データと、それに関連付けて画像ファイルも一括登録させたいですね。
文字データと、それに関連付けて画像ファイルも一括登録させたい
これを実現してくれるツールがあるということで、separator-excel と cli-kintone を使って試してみました。
流れ
- separator-excel で、CSVファイルと画像ファイルに分離する
- kintoneで、アプリを作成する
- cli-kintone で、kintoneにデータをインポートする
ツールやサービスはこんな流れで進めてみます。
それでは早速、やってみよう。
separator-excelで、CSVファイルと画像ファイルに分離する
PHPなどの環境を構築する
separator-excel のREADME を参考に、「必須環境」をインストールしていきます。
// MacOSの場合
brew install git
// パッケージを探す
brew search php74
brew install php@7.4
brew install composer
インストールされていることも兼ねて、Version確認しましょう。
git --version
php -v
composer -V
PHPインストール後にVersionが変わらない場合には、PATHを通そうを参考に。
$ php -v
PHP 7.4.10 (cli) (built: Sep 3 2020 18:20:30) ( NTS )
よし、PHPのVersion7.4なので、動くはず。
###separator-excelをインストールする
インストール手順に沿って、インストールしていきます。
###実行してCSVファイルと画像ファイルを作る
インポートする ramen.xlsx Excelファイルを以下のディレクトリにダウンロードしておきましょう。
- ramen.xlsx: separator-excel/tests/_data
separator-excelに指定する出力パラメータは以下のようにしました。
- csv: tests/_output/export.csv
- files directory: tests/_output
$ php ./bin/separator-excel tests/_data/ramen.xlsx -o tests/_output/export.csv -b tests/_output/
実行結果を確認する
export.csv と 画像ファイル一式が無事に出力されました〜〜。
kintoneアプリを作る
kintoneの環境を用意し、出力したCSVファイルからkintoneアプリを作成してみます。
kintoneの環境がない方は「kintone開発者ライセンス」を申し込んでください。
CSVファイルを読み込んでkintoneアプリを作成する
読み込む文字コード、読み込むフィールドタイプなどをこのように設定しましょう。
添付ファイルフィールドを追加する
添付ファイルフィールドの設定を変更する
特にフィールドコードは重要です。これをCSVのフィールド名と合わせておかないと、インポートできなくなります。
他のフィールドコードも設定する
フィールド名 | フィールドコード |
---|---|
場所 | 場所 |
感想 | 感想 |
星 | 星 |
写真 | 写真 |
APIトークンを作成する
kintoneアプリの設定画面で、APIトークンを生成し、レコード追加をチェックします。(保存とアプリ更新も忘れずに)
ドメイン、アプリID、APIトークンはcli-kintoneで利用しますので、テキストエディタなどに記録しておきましょう。
データを削除する
いまは、画像ファイルが関連付けられていないデータが登録されているため、レコード一覧から削除する か、レコードを一括で削除する かの方法で、データを削除しましょう。
cli-kintone を使ってインポートする
OS環境にあった cli-kintone ファイルをダウンロードします。
separator-excel > tests に、cli-kintoneを配置しました。
次のように実行していきます。※MacOSの場合
$ cd separator-excel/tests
// <APP_ID>, <FQDN>, <API_TOKEN> は各環境で異なるので、値を設定してください。
$ ./cli-kintone --import -a <APP_ID> -d <FQDN> -e utf-8 -t <API_TOKEN> -f _output/export.csv -b _output
// 僕の環境ではAPIトークンはマスクしていますが、次のように実行しました
//$ ./cli-kintone --import -a 27 -d sample.cybozu.com -e utf-8 -t G7e~~~~~ -f _output/export.csv -b _output
実行すると、ログではインポートされている様子。
[2020-09-21 10:13:47]: Start from lines: 1 - 6 => SUCCESS
[2020-09-21 10:13:48]: DONE
kintoneアプリでも無事にデータとファイルがインポートされていました〜〜!!
さいごに
今回は、Excelの中にあるデータと画像ファイルを、きちんと関連付けてkintoneにインポートしてみました。Excelで管理しているものはとても多いと思います。
社員名簿、不動産や賃貸リスト、建設現場、備品管理などなど。今あるExcelをクラウド共有サービスのkintoneに移行して、いつでも、どこでも、最新情報にアクセスできる環境づくりはいかがでしょうか。