📊

kintoneのサブテーブルにcsvを流し込みたい

に公開

こんにちは、本橋です。

kintoneのかゆいところに手が届く孫の手プロジェクト、kinToysの新機能について書きました。

kintoneの日常業務を便利するkinToysの概要は kinToysについて をご覧ください。

概要

kintoneの詳細画面に配置できる行を増やしたり減らしたりできるテーブルのことをサブテーブルと呼びます。(このあたり公式的にも名称が定まっていない様子です)

このサブテーブル、入力するには便利ですが中身のデータを取り出そうとするとクセがあります。

ひとまず取り出す部分は置いといて、csvをペーストして入力できる機能を追加しました。

使い方

https://youtu.be/sJj81T88gXA

有効にする

ブラウザ拡張のオプション画面に入って、[ ] Enable Subtable Importer のチェックボックスを有効にします。デフォルトではオフになっているかと思います。

saveボタンを押して保存してください。

サブテーブルに⬇️ペーストボタンが表示される

サブテーブルを持ったレコードの編集画面または作成画面に入ると、右下のはしっこに⬇️ペーストボタンが表示されます。

マウスホバーでcsvをプレビュー

クリップボードにcsvが積まれているとき、ペーストボタンにマウスカーソルを重ねるとcsvをプレビューします。

クリックでcsvをペースト

クリップボードにcsvが積まれているとき、ペーストボタンをクリックするとサブテーブルに流し込みます。

このとき、最後の行に追加する形でペーストしていきます。

csv以外をペーストしようとすると…🤔

クリップボードにcsvではないテキストがコピーされている場合は🤔となります。

ペーストできるcsvの形式

csvの1行目を見出しとして判断して、一致するフィールドラベルにペーストします。

アプリのフィールドに、こんなサブテーブルがあるとします。新規作成したレコードをであれば、一行目は空ですね。

日付 店舗 商品 数量 単価
- - - - -

そこに⇩のようなcsvをクリップボードに積んだ状態でペーストボタンをクリックしたとします。

"","レコード番号","日付","店舗","商品","数量","単価","添付ファイル"
"","156","2024-12-21","店舗C","商品3","6","600",""
"","155","2024-12-14","店舗B","商品2","5","500",""
"","154","2024-12-07","店舗A","商品1","4","400",""
"","153","2024-11-30","店舗C","商品3","3","300",""
"","152","2024-11-23","店舗B","商品2","2","200",""
"","151","2024-11-16","店舗A","商品1","1","100",""
"","150","2024-11-09","店舗C","商品3","30","1000",""

このとき、"日付", "店舗", "商品", "数量", "単価 "のカラムだけを拾い上げてペーストしようとします。サブテーブル側に存在しないレコード番号や添付ファイルは無視します。

サブテーブルのラベル文字列の一致だけを見て張り付けています。フィールドコードではない点にご注意ください。

kintoneの一覧画面をcsvとしてコピーする

kinToysの機能を使って一覧画面をcsvコピーする手順です。(動画の冒頭でおこなっている操作です)

豚宇座のタスクトレイにあるアイコンをクリックして、ポップアップを開きます。

『[共通] 区切り文字』をcsvにして、『[一覧画面/詳細画面] レコード単位の書式』をcsv/tsvとしてください。

この状態でCopyボタンをクリックすると一覧画面の表示がまるっとcsvとしてクリップボードにコピーされます。

あとは前述の手順に沿ってサブテーブルに流し込んでください。

kinToysについて

kinToysは、kintoneの様々な画面でクリップボード経由のコピー/ペーストを有効にする便利な補助機能(Toys)を詰め合わせたブラウザ拡張です。筆者が「かゆい!」と思ったところに手が届く孫の手的なツールを盛り込みました。

普段データの管理にkintoneを扱っているユーザーはもちろん、組織の中でkintoneを管理しているユーザーに向けた機能もたくさんあります。

あなたの日常業務でご活用いただければ幸いです。

https://chromewebstore.google.com/detail/kintoys/johmoplafihagepgbceblbhlmacejoee

Discussion