kintoneのCSV読み込み(インポート)、書き込み(エクスポート)の微妙なあれこれ

大前提としてkintoneの「ファイルから読み込む」はCSVかエクセルのインポートです。尚、『Excelブック形式:最大1MB、1,000行まで、CSV形式:最大100 MB、10万行まで』となっていますので1,000行を越えるエクセルは要注意です。kintoneの「ファイルに書き出す」はエクスポートです。その他、kintone独自用語としては「テーブル」があります。htmlのテーブルでもなく、データベースの1テーブル(kintoneでは1アプリ)でもなく、1アプリの1レコード内における繰り返しフィールドをkintoneではテーブルと言います。kintoneを知らないエンジニアとの会話では、言葉の概念を共通理解してから会話しないと厄介です。

さて、kintoneで事業所の個別郵便番号データダウンロードの「差分データのダウンロード」を使いCSVを読み込み、1つ新規kintoneアプリを作った後、読み込んだCSVの縦列の並び順を変えて、CSVを一括で再インポート(読み込み)してみました。

尚、 事業所の個別郵便番号データダウンロード については、1行目に列名が入っていないです。手作業でCSVに列名を追加してから、kintoneでCSVを読み込んでください。

様々なCSVフォーマット達とkintoneの1アプリの縦列の紐づけをkintoneへのCSVインポート時にパターン登録する機能があるかどうか?

「異なる縦列順序や列名の様々な種類のCSV」と「kintoneの1アプリの列たち」の紐づけをkintoneにパターン登録する機能は、残念ながらありません。

CSVとkintoneアプリの列名が全て同じであれば、CSVインポートで列は自動結び付け

自動化できる範囲としては、CSVの1行目の列名がkintoneの1つのアプリと同じであれば、自動で同じ列を紐づけしてくれるところまでです。パターン登録機能が無いので、列の紐付け作業はCSVの読み込み(インポート)のたびに毎回発生します。

1レコード内の繰り返しフィールドは、複数行で同じ「レコード番号」にてCSVエクスポート

1レコード内に配置した「繰り返しフィールド(kintone用語ではテーブルもしくはサブテーブル)」については、CSVで同じ「レコード番号」のレコードを「繰り返しフィールド」の繰り返し数と同じ行数でエクスポートされます。「レコード番号」はkintoneの1アプリに最初から存在している自動採番のデフォルトフィールドです。

テーブル(繰り返しフィールド)を含むCSVの書き出し(エクスポート)は、「レコード番号」をドラッグ&ドロップで加えてから

テーブル(繰り返しフィールド)を含むCSVの書き出し(エクスポート)は、以下画像の様に、毎回、必ず、左の選択肢から右側に「レコード番号」をドラッグ&ドロップで加えてから行ってください。

「レコード番号」はkintoneアプリに最初から存在しているデフォルトのフィールドとなっており、また、CSV上では「レコードの開始行」だけに*(アスタリスク)が入るようになっていて、テーブル(繰り返しフィールド)を含む1レコードの切れ目を認識できるようにCSVエクスポートされます。

参考までに、「一覧」のデフォルト「(すべて)」では、「テーブル(繰り返しフィールド)」も「関連レコード一覧」も表示されません。「ルックアップ」は「(すべて)」で「一覧」で表示されます。「(すべて)」ではすべて表示されないという矛盾を抱えているため、一覧を別に作る必要があります。【kintone】一覧画面(すべて)で表示されないカラムがある

kintoneのデフォルト仕様で色々なアプリを作るというのは無理な事も多い。javascriptによる開発じゃないと対応できないデッドラインがすぐに見えてくる。

CSVインポートはkintoneからエクスポートしたものを使うことがベスト

CSVのインポートは書き出しされたCSVと同じフォーマットのCSVを準備してインポートする事が出来ますが、外部のCSVをkintoneとおなじCSVフォーマットルールに合わせるのは大変です。基本的にCSVはkintoneからエクスポートしたものを使うことがベストです。不便です。

CSVインポートの日付形式はYYYY/MM/DDで!

CSVがDD/MM/YYYYだとエラー出ます。

フィールド順番の並び替えは後から出来ない!

フォームにて手作業でアプリを作る時と同じように、アプリ作成時の初回CSV読み込みでフィールドの順番が決まってしまいます。 並び順をよく考えてCSVを編集してから読み込ませることを強く推奨します。後からフィールドを付け足して、既存フィールドの並び順の間に割り込ませることは出来ないです。尚、フォームで見た目上の並び替えは出来ます。

CSV読み込みの際、自動採番フィールド不可

CSV読み込み時、「自動採番プラグイン」では自動採番することは出来ないため、kintoneが最初から持っているレコード番号を使う事が推奨される。もしくはjavascriptでカスタマイズ

1レコード内に繰り返しフィールド(テーブル)が複数ある場合

繰り返しフィールド(テーブル)がレコード内に1個の時と同じです。同じ「レコード番号」の行が「テーブル」の繰り返しの数だけ増えます。「レコード番号」22の行がtable01の繰り返しフィールド2行とtable02の 繰り返しフィールド 3行で合計5行になっていることがわかります。また、エクセルのA3に「レコードの開始行」としてアスタリスクもあります。

ラジオボタン

CSVやエクセルの読み込み(インポート)からkintoneアプリを作る時、ラジオボタンは使わない方がいいです。フィールドのvalueにラジオボタンデフォルトの「sample1」という 意図せぬ値が勝手に全valueに入ってきます。