2014年03月05日

NPOIもEPPLUSもClosedXMLもなんかいまいち。

Excelの2007以降の xlsx 形式をいじれる .net 対応ツールを探しています。

もうすでにプロジェクトは始まっているのだけれど、事前に タイトルのライブラリなら何とかなるんじゃ?とろくに調べてもいなかった。
でも実際にプロジェクト用のファイルを変換してみたら、デザインの壊れること半端ない。
でもいまさら有料のライブラリーを買う予算も無いし。さて、どうやって乗り切るか。

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が お勧めです。

この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/88907504
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

・おすすめ楽天ショップ1:trendyimpact楽天市場店
・おすすめサプリショップ:iHerb.com
・おすすめ楽天ショップ2:上海問屋
Powered by さくらのブログ