何らかの理由で、スプレッドシートに保存されている既存のデータを持っているクライアントがたくさんいます。多くの場合、各スプレッドシートには数千とまではいかなくても数百のアイテムがあり、クライアントに Web サイトからそれらを手動で入力するように依頼する (または、自分でそのようにインポートすることは絶対に禁じられています) ことは問題外です。通常、このデータは単にスプレッドシートの列をデータベースの列にマップするだけではありません。それは簡単すぎるでしょう。多くの場合、データベースに入る前にデータを操作する必要がある (データをコンマで分割する必要があるなど) か、データを複数のテーブルに分散する必要があります。または両方。
私がこの質問をしているのは、それを行うための多くの方法を知らないからではなく、必要以上に手間がかかると感じない方法に落ち着いていないからです。これまでのところ、私は次のすべてのアプローチをとってきました (そして、おそらく私が忘れてしまったものも多くあります):
- Excelを使用してデータを変更するため、インポートが少し簡単になります
- スプレッドシート全体を一時テーブルにインポートしてから SQL でインポートする
- スクリプトを作成し、それを使用してデータをインポートする (私は VBScript、C#、そして今では Ruby を使用しています)
これまでのところ、スクリプトを使用するのが最も柔軟に見える方法でしたが、それでも少しぎこちなく感じます。私はこのタスクを十分に実行する必要があるため、作業を高速化するためだけに、このための小さな DSL を作成することさえ考えました。
しかし、それを行う前に、気になるのですが、もっと良い方法はありますか?