【C#エクセル操作】ClosedXML – シートの追加、アクティブ化
当ページのリンクには広告が含まれています。
ClosedXMLを用いて シートの追加、アクティブ化 する方法を解説します
クリックしてジャンプ
準備(usingの記述)
ClosedXMLを使うために書かなければいけない おまじない があります。
using ClosedXML.Excel; // ClosedXMLを使うためのおまじない
using ClosedXML.Excel.Drawings; // ClosedXMLを使うためのおまじない
おまじない を書く場所は プログラムの頭です。
※ NuGet による ClosedXMLライブラリ が追加してあることが前提です。
ライブラリの追加については こちら の記事を参考にしてください。
【C#エクセル】ClosedXML インストール方法
C#プログラミングでエクセルを開かずに操作するためのライブラリ 「ClosedXML」について 簡単な説明と、インストール方法 を解説します ※ ClosedXMLのアップデートなどによ…
ClosedXMLライブラリ を追加してない状態で おまじないを書いたらエラーになります。
シートを追加
wb.Worksheets.Add("Sheet1");
の部分がシートを追加するコードです
using (var wb = new XLWorkbook()) {
//ワークシートの追加
wb.Worksheets.Add("Sheet1");
// 名前を付けて保存
wb.SaveAs(@"C:\新しいフォルダー\エクセルブック_保存.xlsx");
}
シートをアクティブ化
wb.Worksheet(setSheetName).SetTabActive();
の部分がシートを選択するコードです
注意点としてSetTabActive();
で シートをアクティブにした際、複数のシートが選択状態になる場合があります
事前にアクティブなシートを確認しておき、指定したシートをアクティブにした後に、元々アクティブだったシートの選択を解除することで、シートの2重選択を防止しています。
using (var wb = new XLWorkbook()) {
// アクティブにしたいシート名
var setSheetName = "Sheet3";
// 現在アクティブなシートを調べる
var sheet = wb.Worksheets.First(_ => _.TabActive).Worksheet;
if (sheet != wb.Worksheet(setSheetName)) {
//指定したシート名のシートをActiveにする
wb.Worksheet(setSheetName).SetTabActive();
sheet.TabSelected = false;
}
// 名前を付けて保存
wb.SaveAs(@"C:\新しいフォルダー\エクセルブック_保存.xlsx");
}