it技術:excel操作
差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン前のリビジョン次のリビジョン | 前のリビジョン | ||
| it技術:excel操作 [2017/04/02 00:59] – [はじめに] yajuadmin | it技術:excel操作 [2025/08/07 22:51] (現在) – [オープンソースライブラリ] yajuadmin | ||
|---|---|---|---|
| 行 4: | 行 4: | ||
| 「Microsoft.Office.Interop.Excel」を使った場合、Excelのインストールが必須だったりプロセス解放漏れのリスクなどのデメリットがあります。 | 「Microsoft.Office.Interop.Excel」を使った場合、Excelのインストールが必須だったりプロセス解放漏れのリスクなどのデメリットがあります。 | ||
| - | [[http:// | + | 参考:[[http:// |
| ===== オープンソースライブラリ ===== | ===== オープンソースライブラリ ===== | ||
| オープンソースライブラリは下記3点が有力候補となります。 | オープンソースライブラリは下記3点が有力候補となります。 | ||
| - | * EEPlus | + | * EPPlus |
| * NPOI | * NPOI | ||
| * ClosedXML | * ClosedXML | ||
| + | * Spire.XLS | ||
| + | * SpreadsheetLight | ||
| - | この中でお勧めは「EEPlus」となります。但し、xlsはサポート対象外です。\\ | + | <del>この中でお勧めは「EPPlus」となります。</ |
| 逆に「NPOI」は「xls」もサポートしているので、必要ならNPOIでも構いません。\\ | 逆に「NPOI」は「xls」もサポートしているので、必要ならNPOIでも構いません。\\ | ||
| + | SpreadsheetLightは、最近開発された。 | ||
| + | |||
| + | ==== EPPlus ==== | ||
| + | EPPlusはVer.4系までは[[https:// | ||
| + | Ver.4系の最新版(2022/ | ||
| + | |||
| + | メリットとして、コードの書き方が直感的、グラフなどにも対応している。\\ | ||
| + | デメリットとして、xlsはサポート対象外となっている。 | ||
| - | ===== 参照 ===== | ||
| * [[http:// | * [[http:// | ||
| + | |||
| + | === コメント出力 === | ||
| + | コメント出力すると、可能な限り回復するようにというダイアログボックスが表示されてしまう場合\\ | ||
| + | [[https:// | ||
| + | |||
| + | AddCommentの第2引数(author)が空文字だと駄目なので、何か文字をセットする。 | ||
| + | |||
| + | <code csharp> | ||
| + | range.AddComment(" | ||
| + | ↓ | ||
| + | range.AddComment(" | ||
| + | </ | ||
| + | |||
| + | === 数式の扱い === | ||
| + | Excelファイルに出力する分には問題ないが、Excelファイルを読込みした際の数式は限定的である。\\ | ||
| + | https:// | ||
| + | |||
| + | Calculate()メソッド実行で、SUM(A2, | ||
| + | |||
| + | Trouble shooting/ | ||
| + | https:// | ||
| + | |||
| + | * ローカライズされた関数名は使用しないでください。英語の名前 (SUM、IF、VLOOKUP など) のみがサポートされています。 | ||
| + | * 関数の引数間の区切り文字としてセミコロンを使用しないでください。コンマのみがサポートされています。 | ||
| + | * 数式の先頭に = 記号を追加しないでください。" | ||
| + | ==== NPOI ==== | ||
| + | Javaで使われていたExcelファイル読み書き用ライブラリである「POI」を .NET に移植したものです。\\ | ||
| + | POIの由来は、”Poor Obfuscation Implementation” (質の悪い難読な実装)の頭文字から来ているとの事で、Officeのファイル形式を調べた結果、非常に分かり難くなっていたことから、皮肉を込めて命名された。\\ | ||
| + | ライセンスは [[https:// | ||
| + | |||
| + | NPOIは他のライブラリーと比較して、コードの書き方が少々難しく直感的ではありません。\\ | ||
| + | (行のオブジェクトを作成し、その中の列の要素にデータを代入して・・・など) | ||
| + | |||
| + | メリットとしてExcel 2003 以前の形式(.xls)をサポートしている。他のオープンソースライブラリより比較的処理が速い。長年の実績があるため、枯れたライブラリと言えるでしょう。 | ||
| + | |||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[http:// | ||
| + | ==== ClosedXML ==== | ||
| + | ClosedXMLは使いにくいと評されるMicrosoft Open XML Format SDKをラップし使い易くしたもの。MicrosoftがOpen XMLなので、Closed XML と名づけられました。\\ | ||
| + | ライセンスは [[https:// | ||
| + | |||
| + | メリットとして、コードの書き方が直感的となっている。\\ | ||
| + | デメリットとして、xlsはサポート対象外となっている。グラフの生成機能がない。 | ||
| + | ===== 参照 ===== | ||
| * [[http:// | * [[http:// | ||
| * [[https:// | * [[https:// | ||
| + | * [[https:// | ||
it技術/excel操作.1491062380.txt.gz · 最終更新: 2017/04/02 00:59 by yajuadmin
