2020年の1月頃、趣味で自作Excelファイル編集アプリを作ろうとしていたこともあり、Excelファイル操作のライブラリを調査していました。
この時に出会った素晴らしいライブラリが EPPlus です。
EPPlusとは
Office Open XML 形式の Excelファイル(拡張子 xlsx)を編集するためのオープンソースソフトウェア(OSS)のライブラリです。
メリット
最大のメリットは処理時間の短縮です。
従来、C#などのプログラミング言語からExcelファイルを操作する場合は、バックグラウンドでExcelアプリケーションを起動し、COM経由でファイルの編集を行う必要がありました。
EPPlus など Office Open XML 形式に対応したライブラリを使用すると、Excelアプリケーションを起動することなく、ファイルの読み書きが可能となります。
バックグラウンドでのアプリ起動や内部の通信的な処理が行われなくなることにより、処理速度の劇的な改善が期待できます。
デメリット
デメリットとしては、古い Excel ファイルの拡張子 xls が扱えないところでしょうか。
現在も xls ファイルを操作する場合は従来のCOMによるアクセスが必要になりますが、趣味で使う分には拡張子 xls を使わなければ済む話です。
まとめ
EPPlus は私が試した他の Excel ファイル操作ライブラリと比べて完成度が高いと感じました。
他のライブラリでは、Excel ファイルの上書き保存をするとオートシェイプが消えてしまうようなものもありましたが、EPPlus においては、そのような不都合は今のところ発生していません。
このような素晴らしいライブラリを作ってくださった Jan Källman さんに感謝いたします。
EPPlusのバージョンとライセンス
EPPlus Version 4
EPPlus Ver.4 は LGPL ライセンスです。
ライセンス(LGPL)の内容を必ずご自身で確認いただき、ご使用ください。
Visual Studio 2019 であれば、NuGet から取得可能です。
ライセンスについては、八田真行さんのLPGLv3日本語訳があります。
私自身、LGPL のライブラリ使用がはじめてだったので、理解のために参照させていただきました。
EPPlus Version 5
EPPlus Ver.5 では、商用使用において有料となるようです。
Ver.4 は引き続き LPGL ライセンスのままなので、用途によってバージョンの選択が必要かもしれません。
Ver.5 では Excel のテーマカラーを取得可能なように見えます。(未検証)
以前、Ver.4にてテーマカラーを取得しようとしたところ、正しく色コードを取得できず苦戦しましたが、Ve.5 を使えば解決するかもしれません。
使用に際しては、必ず公式ページにてライセンスを理解してご使用ください。