2016-09-28

CSVダウンロードアップロードに替わるやり方って何か無いのだろうか

PC向けの業務アプリを作っていると、マスタメンナンスの一環として、登録データCSVアップロードダウンロード、もしくはそれらに準ずる機能要求される場合が多い。依頼者曰く、膨大なレコードを1件ずつチマチマ修正する場合に面倒なので、CSVでババーッと修正してドドーッとアップロードできれば一括反映できて簡単でお手軽で便利で定時退社で5時から男だ、という事らしい。

そんな感じで、当初はあくまで一括処理のため、みたいな感じで要求されるのだが、作った後に実際の運用を調べてみるとほぼCSVアップロードだけしか使ってません、みたいな事になりがちだったりする。別にCSVアップロード実装したところで1件ずつ登録したり修正したりする画面が無くなるワケではないし、どっちもあった方が良いのに越したことはない、というのは理解できるのだけど。

CSVアップロードダウンロードによる一括作業あるあるとしては、

ユーザCSV編集するためだけにMicrosoft Excelを準備しなければならない(場合が多い)。折角Webベース業務アプリにしようとなっているのに、Webとは別にCSV編集用のソフトウェア必要というのは本末転倒な感じがする。「大体のパソコンにはWordExcelが入ってますから」が常套句

CSVフォーマット自体バリデーションを持たないため、アップロード後、サーバ側でチマチマとバリデーションを書く必要があり、それらをアップロード時のエラーとして丁寧に表示してやる必要がある。これがすこぶるウザい。リレーションなどが絡むと余計ウザい。ユーザ修正後2度3度4度とCSVアップロードしなければならず、面倒である

データとして一括処理する前の作業が分業になっていて、CSVの行単位で分けたものを最終的にCSVとしてマージするというやり方にしたいという要求がある場合社員1名が10000行のCSVダウンロードし、それを手作業で100行ずつぐらいにしたものを、100人パートタイマー修正させる、等。そういうふうにCSVを分割してくれと言われたこともある。

CSVファイル画像ファイルアップロードして画像登録できるようにしろ、などと言われる。この場合CSVカラム画像名を記載し、同階層にその画像名の画像を配置し、それらをZIPなどで固めてアップロードするなどの方法があるが、手順からして正気の沙汰とは思えない。画像バリデーションなどもウザい。

・そんなふうにしてCSVアップロード実装すると、処理が複雑すぎるせいで、最終的に属人的業務になりがちだったりする。ZIP圧縮するときはこのアーカイバを使えとか、画像jpgだけにしろとか、こちらが特に指定しておらず本来そうしなくてもいいような部分がヘンにローカライズされて面倒なことになっていたりする。

といったものが挙げられるかと思う。

これらに対する実装面での解決策としては、

CSVの取扱をやめる。

・一括処理が必要カラム等をヒアリングし、それを可能とする画面を作る。バリデーション等も考慮

編集時には行(ないしはページ)単位ロックをかけ、複数人での編集で衝突が発生しないよう考慮する。

画像ドラッグドロップ指定できるようにする。

・一括編集バリデーションチェック⇢保存で反映、という流れだけなのでシンプル属人的にならない。

といったようなものが考えつくが、これらを提案しても「いやいやいやいやいやいやいやいや、ここはCSVで」とか言われる事が多かったりして嫌になる。なんで皆そんなにCSVが好きなんだろう。

上記以外に、何か良い代替案とかあったら、是非教えてください。

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん