kintone標準機能でCSVかエクセルをインポートするときの制約

kintone標準機能で『CSV/エクセルインポート出来る !』ではなく、『 様々な制約を満たせばCSV/エクセルインポート出来る!』という表現が正しい。初めてkintoneを使う、プラグインやツールの予算無い、javascriptも書けない、という人は、使いにくいと思います。また、kintoneではCSVやエクセルのインポート/エクスポートではなく、読み込み/書き出しと言います。

プラグインやツールやjavascriptカスタマイズを行わず、kintone標準機能でCSVやエクセルのインポートをする場合、以下3点を確認しながら正解を探ります。

  1. インポートファイルはエクセルかCSVか(ファイルサイズ、レコード数、列数の制限がそれぞれ異なる)
  2. 対象のkintoneアプリにテーブル(繰り返しフィールド)が有るか無いか(インポート時にデータ加工が必要です)
  3. ファイルによる新規レコード追加なのか、レコード更新なのか

kintone標準機能でCSVインポートで新規アプリを作る時の制約【テーブル(繰り返しフィールド)無しアプリの場合】

  • 1行目に項目名を入力(1文字以上128文字以下)
  • 列数(項目数)は50列以内
  • 読み込むデータは10万件以内
  • ファイルサイズは100MB以内

※既存kintoneアプリであれば、列数(項目数)50列制限は無いです。

CSV内のカンマ区切りの金額の縦列(\マーク無し)は、数値フィールドとして認識できませんでした!CSV読み込み直後のフィールド型の設定画面で数値という選択肢が出てこないです。そのCSVには、マイナス金額のカンマ区切りもありました。仕方ないので文字列としてCSVインポート(読み込み)をしています。

kintone標準機能でエクセルインポートで新規アプリを作る時の制約 【テーブル(繰り返しフィールド)無しアプリの場合)】

kintone-new-app-create-by-xlsx
  • 一度に読み込めるのは、上図の赤枠ような1つの表のデータ
  • 表の1行目に項目名を入力(1文字以上128文字以下)
  • 表の2行目以降にデータを入力
  • 表の横幅は50列以内
  • 読み込むデータは1,000件以内
  • ファイルサイズは1MB以内
  • Excelファイルは、パスワードなしのExcelブック形式(.xlsx)

kintone標準機能のみでCSVやエクセルによるデータのインポートを行う場合、基本的に新規レコード追加はCSVやエクセルで、レコード更新については手作業という運用を想定しないと運用でレコードデータインポート時のミスが増えそう・・・。レコードの重複とか・・・。kintone標準機能のインポートは問題多め。

上記の制約を意識してもインポートできない場合

  • アプリ内と同じレコードがCSVやエクセルの中に入っていたら、CSVやエクセルからすべて削除。そして、ファイル内のkintoneアプリのレコード番号は空欄にする、新規レコードだけのファイル(エクセル/CSV)に変えてインポートする
  • インポート時のアプリフィールドとファイル(エクセル/CSV)の対応付け(紐づけ)で「一括更新のキー」に該当するフィールドをkintoneが最初から持っている「レコード番号」だけにする。インポート時に「値の重複を禁止する」というフィールドが 「一括更新のキー」 となります。

kintone標準機能でテーブル(繰り返しフィールド)を含む1アプリのCSVやエクセルのインポート

kintoneでテーブル(繰り返しフィールド)を含む1アプリのCSVやエクセルのインポートは、なかなかやりにくいです。

「レコードの開始行」というフィールドをCSVやエクセルに1つの縦列として追加し、テーブル(繰り返しフィールド)を持つレコ―ドの先頭行には 「レコードの開始行」 にアスタリスク(*)を入れます。尚、テーブルに値を一切を持たないレコードもテーブルの先頭行として アスタリスク(*) が必要となります。アスタリスク(*)無しとなるのは、テーブルの2行目以降のレコードに限られます。

レコード一覧画面、新規レコード追加画面、レコード編集画面でjavascriptカスタマイズによってインポート機能を実装する方法もあります。

WordPress/kusanagi/Azure/AWS/kintoneの開発運用相談