最近、流行りのKintoneから出力されたCSVファイルをExcelで読み込んで加工するコードの改修。
Kintoneが吐き出すCSVは癖があって、Excelに読み込むのが結構大変。
改行コードがキャリッジリターン&ラインフィードだったらいいんだけど、ラインフィードのみ。
データの中に改行(ラインフィード)があると、そこでレコードが終わると思ってしまい、上手く読み込めない。
当初はネットから拾ってきたコードを拝借してなんとか実装したのだけど、それもどうかと思い今回作り変えようとネットをググってみた。
いろいろ見ると、こんなページを見つけた。
コストパフォーマンス的に『ADODB.Connectionで読み込む』が良い感じなので、試してみた。
このページによると、先頭の0が消えることがあると書いてあるけど、試した限りでは、そんなこともなく上手く読み込むことが出来ている。
当初の方式は、元のCSVから必要な列を選択して読み込む方式だったので、元の列、読み込んだ列、加工した出力用の列とあって、元の列に変更があると修正が大変だったので、今回は元のCSV全ての列を読み込むことにした。
これだと、中間のデータがなくなるので、列の管理が楽になる。
当初も全列を読むことも出来たのだけど、実際に使う(必要な)列は、全体の1/10もないので選択して読み込んでいた。
とりあえず、テストは上手く行ったので、きょうはここまで。
--
いちじ
No comments:
Post a Comment