サーバー側でExcelファイルの操作をするために、OpenXMLを使い開発をすすめようとしましたが、カラムのコピペや範囲選択(range)の扱いに苦戦し、ClosedXMLで代替しました。
備忘を兼ねて、ClosedXMLの導入と簡単な操作について記載したいと思います。
(他のClosedXML関連ページと重なる部分があると思いますがご容赦いただければ幸いです)
目次
導入
NuGetパッケージからインストール
visual studioのNuGet パッケージの管理から
ClosedXMLと検索をしインストールしました。
usingディレクティブの追加
ClosedXMLをつかうためファイルの上部にusingを追加しました。
C#
using ClosedXML.Excel;
主なクラス構成
ざっくり分類すると3つのクラスで構成されています。
クラス名 | 概要 | 利用例 |
---|---|---|
XLWorkbook | ファイル本体 | シート追加、ファイル保存 |
IXLWorksheet | シート | 作業するセル、行(row)、列(column)の指定 |
IXLCell | セル | 値書き込み、読み込み、スタイル指定 |
新規Excel作成
新規でExcelファイルを作成する
C#
XLWorkbook workbook = new XLWorkbook();
//シート作成 デフォルトではシート名"Sheet1"で作成される
workbook.Worksheets.Add();
セルへの値書き込み
C#
//シートの選択 今回はシート名"Sheet1"で検索
IXLWorksheet workSheet = workbook.Worksheets.Where(x => x.Name.Contains("Sheet1")).FirstOrDefault();
//セルの選択 今回は[A1]のセルを選択
IXLCell cell = workSheet.Cell(1, 1);
//セルへの値代入
cell.Value = "セルへ書き込み"
Excelファイルを保存
新規でExcelファイルを作成している場合、名前を付けて保存をすることになります。
C#
xLWorkbook.SaveAs("<ファイルパス>")
まとめ
今回はClosedXMLを導入方法や新規でファイルを操作する方法を記載しました。
開発を進める中で新たな発見をについては、別途追記していきたいと思います。