参考になりそうなサイト

ClosedXML

github
https://github.com/ClosedXML/ClosedXML

旧wiki
https://github.com/closedxml/closedxml/wiki

徐々に移行しているというwiki
https://docs.closedxml.io/en/latest/

ExcelDataReader

github
https://github.com/ExcelDataReader/ExcelDataReader

ドキュメントっぽいものがみあたらなかったのでwikiくらいしかみるとこはないかも

EPPlus

github
https://github.com/EPPlusSoftware/EPPlus

公式サイト https://www.epplussoftware.com/ja ※いろいろ情報があるのでみるとよいかも

ドキュメント
https://www.epplussoftware.com/ja/Developers

EPPlus source code docsから使用するバージョンを選択するとそのドキュメントが見れます。

NPOI

github
https://github.com/nissl-lab/npoi

チュートリアル
https://github.com/nissl-lab/npoi-tutorial

投稿日時: 2025-05-08 13:02:08

COM経由でExcelを操作するための準備

依存関係から右クリックでCOM参照の追加を選択

Microsoft.Excel XX.X ObjectLibrary を選択(要Excelインストール)

OKで閉じる

ClosedXMLでExcelを操作するための準備

Nugetから ClosedXML をインストール

ExcelDataReaderでExcelを操作するための準備

Nugetから ExcelDataReader をインストール

ExcelDataReader.DataSetもインストールしてください
AsDataSet() を使うのに必要になってきます

EPPlusでExcelを操作するための準備

Nugetから EPPlus をインストール

NPOIでExcelを操作するための準備

Nugetから NPOIをインストール

投稿日時: 2025-05-07 13:02:07
更新日時: 2025-05-17 04:16:17

C#からExcel操作方法のメモ

ライブラリ .xls .xlsx 読み 書き ライセンス
ClosedXML × 〇 〇 〇 MIT
ExcelDataReader 〇 〇 〇 × MIT
NPOI 〇 〇 〇 〇 Apache 2.0
EPPlus × 〇 〇 〇 Polyform Noncommercial License 1.0.0

ClosedXML、ExcelDataReader、EPPlus、NPOIのドキュメント・チュートリアル

Excel(COM)、ClosedXML、ExcelDataReader、NPOI、EPPlusを使えるようにする


早見表

項目 Excel(COM) ClosedXML EPPlus ExcelDataReader NPOI
ファイルパスオープン 〇 〇 〇 × ×
FileInfoオープン × × 〇 × ×
FileStreamオープン × 〇 〇 〇 〇
行列番号 1~ 1~ 1~ 0~ 0~
シート番号 1~ 1~ 0~ 0~ 0~
シート取得 Sheets変数[ ] Worksheet() Worksheets() - GetSheetAt()/GetSheet()
存在しないシート 例外 例外 null null null

ワークブック

処理 Excel(COM) ClosedXML EPPlus ExcelDataReader NPOI
ブックを作成 〇 〇 〇 × 〇
ブックを開く 〇 〇 〇 〇 〇
ブックを開く(読み取り専用) 〇 〇 〇 〇 〇
ブックを開く(書き込みパスワード付き) 〇 × × × ×
ブックを開く(開くパスワード付き) 〇 × × × ×
ブックを保存(名前をつけて保存) 〇 〇 〇 × 〇
上書き保存 〇 〇 〇 × 〇

ワークシート

処理 Excel(COM) ClosedXML EPPlus ExcelDataReader NPOI
シートの数を取得する 〇 〇 〇 〇 〇
全てのシートを取得しその名前を出力する 〇 〇 〇 〇 〇
シート名を変更 〇 〇 〇 × 〇
シートを追加する(一番最後) 〇 〇 〇 × 〇
シートの削除 〇 〇 〇 × 〇
ワークシートの参照 〇 〇 〇 〇 〇
アクティブなシートを取得/設定 〇 〇 〇 × 〇
表示倍率の取得 〇 〇 〇 × ×
表示倍率の設定 〇 〇 〇 × 〇
シートの保護 〇 〇 〇 × 〇
シートの解除 〇 〇 〇 × △

(補足)シートの解除は、NPOIだとパス無し保護は解除できても、パス有り保護は解除できなさそう


セル

処理 Excel(COM) ClosedXML EPPlus ExcelDataReader NPOI
A1形式でセルの値取得 〇 〇 〇 × ×
R1C1形式でセルの値取得 〇 〇 〇 〇 〇
複数のセルを範囲で取得し、1つずつ取り出し値を出力 〇 〇 〇 〇 〇
セルのアドレス 〇 〇 〇 × ×
セルに値を設定する 〇 〇 〇 × 〇

参考

ClosedXML, ExcelDataReader, EPPlus, NPOIがパスワード解除について

Officeのサーバー上でのCOM経由による自動操作について

Microsoft.Office.Interop.Excel でオブジェクトの解放について

解放ヘルパークラスを使ったオブジェクトの解放

R1C1情報からA1形式への変換

EPPlus/NPOIで既存ファイルを開き、保存する方法

EPPlusでファイル作成、保存方法

投稿日時: 2025-05-07 12:05:07
更新日時: 2025-05-28 14:58:28

最近の投稿

最近のコメント

タグ

アーカイブ

その他