もうすでにプロジェクトは始まっているのだけれど、事前に タイトルのライブラリなら何とかなるんじゃ?とろくに調べてもいなかった。
でも実際にプロジェクト用のファイルを変換してみたら、デザインの壊れること半端ない。
でもいまさら有料のライブラリーを買う予算も無いし。さて、どうやって乗り切るか。
NPOI - Home は、なんとなく JavaのPOIがいけてないので最初から嫌悪感。
評価できるのは .net 2.0 でも使えるライブラリがあること。それ以外は3.5以上とか制限がある。
まあ自分のところは FW4.0以上でいいから、選択肢としてはどれでもいける。
個人的には EPPlus-Create advanced Excel 2007 spreadsheets on the server - Home が感覚的にも一番しっくり来るし、処理スピードもなかなかのもの。
だけど、xlsxファイルをテンプレートにして、1セルに値を書き込むだけなのに、ほかのシートの書式が無くなったり、標準書式のセルがパーセンテージ(%-Percentage)に全部置き換わっていたりということが発覚して、ちょっと萎えた。
そこで書式を壊さないライブラリって無いものか?と探してみたところClosedXML - The easy way to OpenXML - Home を見つけた。
これ、Microsoftの OPEN XML DocumentFormat.OpenXml.dll のラッパーということで、マイクロソフト製のライブラリを使っているなら大丈夫だろうと期待したのだけど
これもぜんぜん駄目。結局書式が無くなったりする。EPPLUSとは違うところが。
後者2つの評価としては、テンプレートエクセルの書式が再保存後も維持されるかどうか、回避策は無いか?という観点で見ると EPPLUSのほうが いい。
完璧じゃないけど、テンプレートファイルの書式を明示的に設定しておくとか、セルの高さを明示しておくとかすれば再保存後も書式は維持されているっぽい。
NPOIは実はまだそういった評価をしていなかった。明日確認してみよう。
アドオンとかプラグインとか拡張機能とか - hogehoge @teramako
20140305_222014 後日NPOIを同じ条件で検証してみましたが、テンプレートファイルの書式をことごとく壊しまくりで、使う気に慣れませんでした。
さらにはやっぱりNPOIのコーディングスタイルは馴染めないので ものすごくストレス。
ClosedXMLかEPPLUSが お勧めです。
【アプリケーション開発ネタの最新記事】
http://blog.sakura.ne.jp/tb/88907504
※言及リンクのないトラックバックは受信されません。
この記事へのトラックバック