ClosedXML とは
近年は、クラウド系ソフトを含めて様々な表計算ソフトウェアが利用可能です。LibreOffice (Open Office) Calc、Google Sheets が、表計算ソフトの代表格といえばいまでもやはり Excel です。
業務をサポートするソフトウェアを開発するときには、プログラムでデータを抽出して Excel ファイルを作成するとか、 あるいは Excel ファイルを読込んで次のシステムにデータを流すといったことはよく行われますよね。
Excel ファイルを作成する方法としては、オートメーションで Excel を起動してファイルを作成する方法、 Open XML SDK を利用する方法、SpreadsheetML を直接作る方法 (ま、これはあまりやらないかな) とかあります。
Excel を直接起動するのは柔軟に操作はしやすいですが、ライセンスの問題もありますし、動作が重い、とかの問題があります。 SDK は、主観的な感想にすぎないかも知れませんが、独特な実装で直感的に扱いにくいです。XML の直接操作は簡単なデータを書き出すだけならまだしも、 あまり現実的でないです。
そんな事情で Excel ファイルを使うのは需要が多い割に、扱いにくいものでした。
しかし、ここで紹介する ClosedXML は Excel ファイルを利用するためのライブラリです。Excel 2007/2010/2013 (*.xlsx) の形式をサポートしています。
以前のバイナリフォーマットの Excel ファイルを扱うのでなければ、ClosedXML を使えば Excel ファイルを読むのも書くのもかなりの範囲で自由自在です。
非常に直感的にわかりやすいプログラミングモデルで扱いやすく、かつ、読み取り・書き込み共サポートし、 その上、Excel がサポートする全ての機能ではないにせよ、かなり多くの機能をサポートしています。