【ClosedXML】 ワークシートの作成、取得
ClosedXMLでExcelファイルの操作を行う場合は、Bookを作成(又は読み込み)した後に、ワークシートを作成したり、目的のワークシートを取得する必要があります。
まずはワークシートの作成方法について説明します。
using ClosedXML.Excel; using System; namespace ClosedXml03 { class Program { static void Main(string[] args) { using(var book = new XLWorkbook(XLEventTracking.Disabled)) { // ワークシートを作成 var sheet1 = book.AddWorksheet("シート1"); var sheet2 = book.Worksheets.Add("シート2"); // こっちでもOK var sheet0 = book.AddWorksheet("シート0", 1); // シート0を最初のシートとして作成 // 既に存在するシート名を追加すると例外発生 //var sheet3 = book.Worksheets.Add("シート2"); } } } }ワークシートの作成方法は2種類あり、どちらを使ってもかまいません。 1つはXLWorkbookインスタンスのAddWorksheetメソッドを使用する方法です。 もう1つはXLWorkbookインスタンスのWorksheetsプロパティのAddメソッドを使用する方法です。 どちらのメソッドも引数にワークシートの名前を指定し、戻り値に作成したワークシートのインスタンスを返します。 既存ワークシートと同名のワークシートを作ろうとすると例外が発生しますので、注意してください。 これらのワークシート作成メソッドにシート名だけを指定した場合は、新規ワークシートはWorksheetsの最後に追加されます。 ワークシート作成メソッドの第2引数に新規ワークシートの位置を指定することで、新規ワークシートを任意の位置に作成することができます。 次に、ワークシートを取得する方法について説明します。
using ClosedXML.Excel; using System; namespace ClosedXml03 { class Program { static void Main(string[] args) { using(var book = new XLWorkbook(XLEventTracking.Disabled)) { // ワークシートを取得する var sheet1 = book.Worksheet(1); // positionは1から開始 Console.WriteLine(sheet1.Name); // シート1 var sheet2 = book.Worksheet("シート2"); Console.WriteLine(sheet2.Name); // シート2 IXLWorksheet sheet3; if(book.TryGetWorksheet("シート3", out sheet3)) { Console.WriteLine(sheet3.Name); } else { Console.WriteLine("ワークシートを取得できませんでした。"); } } } } }ワークシートを取得する場合はXLWorkbookインスタンスのWorksheetメソッドを使用します。 Worksheetメソッドの引数には、ワークシート番号(1から開始)かワークシート名を指定します。 Worksheetメソッドに存在しないシート番号やシート名を指定すると例外が発生します。 例外処理が面倒な場合はTryGetWorksheetメソッドを使用する方法もあります。 TryGetWorksheetメソッドでは戻り値でワークシートの取得が成功したかどうかを判断できます。
スポンサーサイト