ユーザ用ツール

サイト用ツール


it技術:excel操作

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

次のリビジョン
前のリビジョン
次のリビジョン両方とも次のリビジョン
it技術:excel操作 [2017/03/30 18:02] – 作成 yajuadminit技術:excel操作 [2023/01/23 16:22] yajuadmin
行 9: 行 9:
 オープンソースライブラリは下記3点が有力候補となります。 オープンソースライブラリは下記3点が有力候補となります。
  
-  * EEPlus+  * EPPlus
   * NPOI   * NPOI
   * ClosedXML   * ClosedXML
 +  * Spire.XLS
 +  * SpreadsheetLight
  
-この中でお勧めは「EEPlus」となります。但し、xlsはサポート対象外です。\\+この中でお勧めは「EPPlus」となります。但し、xlsはサポート対象外です。\\
 逆に「NPOI」は「xls」もサポートしているので、必要ならNPOIでも構いません。\\ 逆に「NPOI」は「xls」もサポートしているので、必要ならNPOIでも構いません。\\
 +SpreadsheetLightは、最近開発された。
 +
 +==== EPPlus ====
 +EPPlusはVer.4系までは[[https://wa3.i-3-i.info/word13201.html|LGPLライセンス]]、Ver.5以上はライセンスが変更され商用利用は有償となった。\\
 +Ver.4系の最新版(2022/02/21時点 4.5.3.3)を使用する。
 +
 +メリットとして、コードの書き方が直感的、グラフなどにも対応している。\\
 +デメリットとして、xlsはサポート対象外となっている。
  
-===== 参照 ===== 
   * [[http://chawatoyo.blog.fc2.com/blog-entry-15.html|EPPlusの使い方(目次)]]   * [[http://chawatoyo.blog.fc2.com/blog-entry-15.html|EPPlusの使い方(目次)]]
 +
 +=== コメント出力 ===
 +コメント出力すると、可能な限り回復するようにというダイアログボックスが表示されてしまう場合\\
 +[[https://stackoverflow.com/questions/41884454/epplus-adding-comment-results-error-opening-excel-file|EPPLUS adding comment results error opening excel file - stackoverflow]]
 +
 +AddCommentの第2引数(author)が空文字だと駄目なので、何か文字をセットする。
 +
 +<code csharp>
 +range.AddComment("no data", "");
 +                             ↓
 +range.AddComment("no data", "REF");
 +</code>
 +==== NPOI ====
 +Javaで使われていたExcelファイル読み書き用ライブラリである「POI」を .NET に移植したものです。\\
 +POIの由来は、”Poor Obfuscation Implementation” (質の悪い難読な実装)の頭文字から来ているとの事で、Officeのファイル形式を調べた結果、非常に分かり難くなっていたことから、皮肉を込めて命名された。\\
 +ライセンスは [[https://reikawatanabe.com/whats-apache-license-v2/|Apache License 2.0]] です。
 +
 +NPOIは他のライブラリーと比較して、コードの書き方が少々難しく直感的ではありません。\\
 +(行のオブジェクトを作成し、その中の列の要素にデータを代入して・・・など)
 +
 +メリットとしてExcel 2003 以前の形式(.xls)をサポートしている。他のオープンソースライブラリより比較的処理が速い。長年の実績があるため、枯れたライブラリと言えるでしょう。
 +
 +[[https://tech-and-investment.com/excel-speedcomp/|【C#】エクセルライブラリの速度の比較 ClosedXML・NPOI・SpreadSheetLight 【書き込み編】]]
 +
 +==== ClosedXML ====
 +ClosedXMLは使いにくいと評されるMicrosoft Open XML Format SDKをラップし使い易くしたもの。MicrosoftがOpen XMLなので、Closed XML と名づけられました。\\
 +ライセンスは [[https://yamory.io/blog/about-mit-License/|MIT License]] です。
 +
 +メリットとして、コードの書き方が直感的となっている。\\
 +デメリットとして、xlsはサポート対象外となっている。グラフの生成機能がない。
 +===== 参照 =====
   * [[http://nnspaces.sblo.jp/article/88907504.html|NPOIもEPPLUSもClosedXMLもなんかいまいち。]]   * [[http://nnspaces.sblo.jp/article/88907504.html|NPOIもEPPLUSもClosedXMLもなんかいまいち。]]
   * [[https://www.ka-net.org/blog/?p=6894|ClosedXMLやEPPlusでExcelファイルを読み書きしてみた。]]   * [[https://www.ka-net.org/blog/?p=6894|ClosedXMLやEPPlusでExcelファイルを読み書きしてみた。]]
 +  * [[https://marunaka-blog.com/csharp-excel-read-compare/2849/|【C#】エクセルの読み込み速度比較 ~高速でおすすめのライブラリとは~]]
  
it技術/excel操作.txt · 最終更新: 2023/10/17 18:18 by yajuadmin