はじめに
kintoneでExcelファイルを出力するには、csv形式で書き出した後xlsx形式に変換する必要があります。
今回は、JavaScriptカスタマイズを使ってkintoneからボタン1つで直接Excelファイルに出力する方法を紹介します。
デモ環境
デモ環境で実際に動作を確認できます。
https://dev-demo.cybozu.com/k/299/
ログイン情報は cybozu developer networkデモ環境 で確認してください。
完成イメージ
Excel出力用の一覧でボタンを押すと、kintoneアプリ内のデータがExcelファイルに出力されます。
今回は文字列(1行)、文字列(複数行)フィールドを出力するサンプルコードを紹介します。
kintoneアプリの作成
フォームの設定
以下のフィールドをフォームに配置します。
| フィールドの種類 | フィールドコード |
|---|---|
| 文字列 (1行) | タイトル |
| 文字列 (複数行) | 詳細 |
カスタマイズビューの設定
Excel出力用のカスタマイズビューを作成します。
一覧の設定画面で「新しいビュー」をクリックし、ビュー名を「Excel出力」などに設定します。
レコード一覧の表示形式に「カスタマイズ」を選択します。
HTMLには以下のコードを入力します。
|
|
JavaScriptカスタマイズ
下のサンプルコードを参考に、JavaScriptファイルoutputXLSX.jsとして保存します。
outputXLSX.js
|
|
コード解説
一覧画面を開いたときのイベントapp.record.index.showの発生時に、出力用のデータを作成しています。
|
|
kintone-rest-api-clientのgetAllRecordsメソッドで、kintoneのレコードを全件取得します。
詳細は
kintone-rest-api-client
を参照してください。
|
|
取得したデータからエレメントを作成します。
|
|
エレメントからHTMLのtableを作成します。
|
|
ボタンをクリックしたタイミングで、ライブラリを使用してtableからxlsxへ書き出します。
|
|
ライブラリの適用
また、以下のライブラリもkintoneに適用します。
ライブラリの下にoutputXLSX.jsを追加してください。
-
kintone REST API Client
- https://js.cybozu.com/kintone-rest-api-client/5.7.4/KintoneRestAPIClient.min.js
-
FileSaver
- dist/FileSaver.min.js v2.0.4を適用
- MIT License
-
sheetjs
- dist/xlsx.full.min.js v0.20.3を適用
- Apache License 2.0
すべて適用すると、以下のようになります。
動作確認
冒頭でお見せしたとおり、Excel出力用に作成した一覧(カスタマイズビュー)に移動し「Download XLSX」ボタンを押すと、kintoneのデータがxlsx形式でダウンロードされることを確認してください。
おわりに
今回紹介したカスタマイズで、kintoneのレコードをボタン1つで直接Excelファイルとして出力できます。
レポートの作成や他システムとの連携など、日々の業務の効率化にご活用いただければ幸いです。
このTipsは、2025年8月版kintoneで動作を確認しています。
