Office 2007以降のWord, Excel, PowerPointのデータファイルはOpen XMLというECMA標準のファイルフォーマットが元になっています。従ってこのOpen XMLのフォーマットに則り、ファイル(ZIP圧縮されたいくつかのXML)を操作することで、バイナリフォーマットのOLE複合文書を直接操作したり、Excle等のCOMオートメーションのインターフェイスを使わなくても、データの操作が可能です。
このOpen XMLの操作用のSDKはVC++版と.NET版が以前より存在しましたが、無償とは言えSDKとしてバイナリでのみの提供となっていて、改変可能なソースコードとしての提供はありませんでした。
しかしながら、このたび、.NET版SDKが、Apache License 2.0の元で公開され、ソースコードがGitHubに登録されました。
Open XML SDKの操作方法につきましては以下を後確認ください。
http://msdn.microsoft.com/en-us/library/office/bb448854.aspx
また、Windows上でのビルドについては以下を後確認ください。Linux上のMonoでのビルドについては、GitHubのReadmeを確認してください。
http://openxmldeveloper.org/blog/b/openxmldeveloper/archive/2014/06/25/the-open-xml-sdk-is-now-open-source.aspx
ただ、お断りしておくと、Open XML SDKでのプログラミングはプリミティブ過ぎてあまり使い勝手が良い物ではありません。Open XMLをラップするClosedXMLのようなプロジェクトがありますので、C#のコードから単純にExcelのデータにアクセスしたいといった用途であれば、そのようなライブラリの使用をお勧めします。
コメント