添付ファイル(csv)のプレビューと別アプリへのインポート機能を持たせるkintoneプラグインです。添付ファイルのプレビューと、指定したアプリへのインポート機能をkintoneアプリに追加することができます。
指定した添付ファイルフィールドにアップロードしたcsvファイルをプレビューします。
設定画面で指定したアプリに対して、csvファイルのインポートを実行します。csvの1行目に格納されているカラムがフィールド名なのかフィールドコードなのか設定画面で指定できます。
添付ファイルとインポート先アプリ
- 指定した添付ファイルフィールドにあるファイルを列挙します。加えて、インポート先アプリへのリンクもあります。インポート方式
- csvの1行目をフィールド名とするか、フィールドコードと判定するかを設定してください。インポート先アプリの対応するフィールドにインポートします。ロットガード
- 重複登録を回避する仕組みです。判定フィールドの値がインポート先アプリに既に存在する場合、そのレコードを登録しません。
お使いのkintone環境にプラグインとしてインストールしてください。
プラグインのzipファイルは、distディレクトリから入手できます。
動作に必要なフィールドは以下の3つです。
- 添付ファイルフィールド
- スペースフィールド(プレビュー用)
- スペースフィールド(インポート機能表示用)
スペースフィールドの横幅はそのままプレビューの横幅になります。 カラム数が多いcsvを扱うときはあらかじめスペースの横幅を広げておきましょう。
プレビューの設定とインポートの設定に大きく分かれます。
添付ファイル
- プレビューしたい添付ファイルフィールドをプルダウンから選んでください。添付ファイルのプレビュー領域
- プレビューを表示させたいスペースフィールドをプルダウンから選んでください。添付ファイルのプレビュースタイル
- プレーンテキストで表示するか、csvとしてテーブル表示するかラジオボタンから選んでください。文字コードはencodings.jsを使った自動判別です。
-
インポート先アプリ
- インポート先アプリをプルダウンから選んでください。 -
ロットガードの有効化
- 後述のロットガード機能を利用する場合はonを選んでください。 -
ロットガードの判定フィールド
- インポート先に指定したアプリのテキスト一覧フィールドから選んでください。 -
インポートボタンの配置スペーサー(スペースフィールド)
- インポート機能の設定状況や、インポート実行ボタンを表示するスペーサーを選んでください。 -
インポート先アプリの対応フィールド判定
- CSVのヘッダ行(1行目)をフィールド名とするか、フィールドコードとするか、ラジオボタンから選んでください。
指定したスペースフィールドに表示されているプレビューを確認し、ファイルに間違いがないことを確認してください。
プレビューは先頭5行まで表示します。また、添付ファイルが複数ある場合はテーブルを複数表示します。
インポート機能の表示は、対象の添付ファイル名一覧、インポート先アプリへのリンク、その他の設定項目について確認表示を含みます。
念のため、インポート先アプリに間違いがないことをご確認ください。
インポートに成功すると下記のダイアログを表示します。
インポートの実行後も添付ファイルは残ります。そのため、繰り返しのインポート実行が可能となっています。
二重インポートを避けたい場合はロットガード機能をご利用ください。
同じファイルを複数回インポートしてしまわないための対策として、csvのカラムをロット番号(文字列フィールド)として扱うことができます。
csvをソフトウェアで生成している場合は、日付や日時、あるいはUUIDなどがロット番号として使いやすいかと思います。
レコード単位で判定しているため、ひとつのcsvファイルに複数のロットを同居させることができます。その場合は既存のロット番号のみ取り除きます。
下記のライブラリを使用しています。
encodings.js
- https://github.com/polygonplanet/encoding.js/blob/master/README_ja.md51-modern-default.css
- https://github.com/kintone-samples/plugin-samples/blob/master/stylesheet/51-modern-default.css
プレビュー&インポートプラグインはMITライセンスの元で公開しています。 This plugin is licensed under MIT license.
Copyright (c) 2022 Daisuke Motohashi https://opensource.org/licenses/MIT
kintone標準のフィールドのアクセス権機能で制限できます。インポート機能表示用スペースをグループの中に入れておき、グループ自体にアクセス権を設定してください。
このプラグインは株式会社モノサスのkintan Lab.事業の一環として公開しています。機能追加やカスタマイズのご要望はお問い合わせフォームまでお願いします。
たとえば...
- Excelファイルにも対応してほしい
- 添付ファイルフィールドを複数セット置きたい
- インポートできる形式に自動で整形してほしい
などご要望をいただければそれに合わせたカスタマイズを開発いたします。
Pull requests や Issues も歓迎しています。バグ報告と機能のご要望は Issues からご連絡ください。