【C#エクセル操作】ClosedXML – シートの追加、アクティブ化

当ページのリンクには広告が含まれています。

スポンサーリンク

ClosedXMLを用いて シートの追加、アクティブ化 する方法を解説します

クリックしてジャンプ

準備(usingの記述)

ClosedXMLを使うために書かなければいけない おまじない があります。

using ClosedXML.Excel; // ClosedXMLを使うためのおまじない
using ClosedXML.Excel.Drawings; // ClosedXMLを使うためのおまじない

おまじない を書く場所は プログラムの頭です。

※ NuGet による 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"); 
}

スポンサーリンク

クリックしてジャンプ