C#からEXCELファイルを読み書き

以前にC#などの.netアプリケーションからEXCELファイルの読み書きを行う方法として、Open XML SDKというマイクロソフトが公開しているライブラリについて記載しました。http://www.infortec.co.jp/blog/archives/Item_453

今回、ある案件でEXCELファイルを保存する処理が必要になったためOpen XML SDKを使用してみました。が、とても分かりにくい!使いにくい!

どうもEXCELのファイル形式であるOpen XMLに対する低レベルな実装しか無いようで、なんとも泥臭い。自分でラッパーを作れば使い物になるかも知れないが、そんな時間は無い。

しかたがないので、いつものようにEXCELをCOM参照して開発しようかと思ったが、ネットで調べると、EPPlusというライブラリを発見。

試して見ると、とても使いやすい。雰囲気的には今までのEXCELのCOMオブジェクトを正しく進化させ.netで扱いやすくした感じ。 すばらしい。

[2014.10.22 追記]
残念ながらEPPlusの使用は断念しました。
理由は、EXCEL COMオブジェクトの全機能をカバー出来ておらず、実現出来ない 機能があるからです。
出来なかったのはグラフのデータ系列の色・太さ・マーカ等の変更、グラフの目盛線の表示有無の変更など。
単に自分が探しきれなかったからかも知れませんが、 EXCELであれば、「マクロの記録」を使用すれば必要な機能にたどり着けるので、探す手間も全然違います。
結局は、マイクロソフトが.netで扱いやすいEXCEL制御クラスを用意してくれれば解決する話。なんとかならないのかな~。

コメントを残す