ITコンサルの日常

ITコンサル会社に勤務する普通のITエンジニアの日常です。

Excelファイルを比較

サーチエンジンで調べれば分かることですが、今までテキストで比較するっていう考えがなかった。
なんでこんな基本的なことに気づかなかったのだろうと、疑問に思います。
Excelをテキストにするには、

  • CSVで保存
  • タブ区切りで保存
  • Unicodeテキストで保存

の三つがあり、どの方法を選んでも一つのシートしか保存できないので、全シート個別に保存して、個別に比較っていうことになるかと思います。
まあ、ここまではExcelマクロなり、VBSなりを使えばできるのですが、問題は比較処理。
自分で実装するのは大変なので(行がズレたら全部アンマッチみたいなアホ処理だったら書けるが。。)Windows標準(2000以降らしい)のfcコマンドを使うことに。
が、これがまたイマイチ。
なんだか不一致行の前後一致している部分まで表示されてしまうみたい。/Nオプションを付ければ多少見やすくなるものの、やっぱりイマイチ。
diffとか使える環境ならば良いですが、今の現場のような閉鎖的なところでは絶望的ですね。
ちなみにExcelをテキストに保存する際、Unicodeテキストで保存したファイルをfcで比較したところ、結果文字化けしました。多分/Uオプションで回避できると思うのですが、やってません。。
あと割と定番みたいですが、ExDiffとか使ってみるのが一番てっとり早いかも知れません。