【C#エクセル操作】ClosedXML – 最終行、最終列の取得

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

スポンサーリンク

ClosedXMLを用いて 最終行、最終列を取得 する方法を解説します

クリックしてジャンプ

準備(usingの記述)

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

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

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

※ NuGet による ClosedXMLライブラリ が追加してあることが前提です。

ライブラリの追加については こちら の記事を参考にしてください。

ClosedXMLライブラリ を追加してない状態で おまじないを書いたらエラーになります。

最終行の取得

lastRowには 行そのもの(オブジェクト)が入ります

lastRowNumberには 行番号が入ります

using (var wb = new XLWorkbook()) { 

 // データをいくつか追加します(例として)
 wb.Worksheet("sheet1").Cell("A1").Value = "データ1";
 wb.Worksheet("sheet1").Cell("A2").Value = "データ2";
 wb.Worksheet("sheet1").Cell("A3").Value = "データ3"; // この行が最終行になります。

 // 最終行を使用している行を取得します。
 var lastRow = worksheet.LastRowUsed();

 // 最終行の行番号を取得します。この場合、lastRowNumberには、3が入ります
 int lastRowNumber = lastRow.RowNumber();

 // 取得した最終行を利用したい場合のコードをここに記述します。
 // 例:最終行の次の行に値を設定する。
 wb.Worksheet("sheet1").Cell(lastRowNumber + 1, 1).Value = "次のデータ";
 
 // 名前を付けて保存
 wb.SaveAs(@"C:\新しいフォルダー\エクセルブック_保存.xlsx"); 
}

最終列の取得

lastColumnには 列そのもの(オブジェクト)が入ります

lastColumnNumberには 列番号が入ります

using (var wb = new XLWorkbook()) { 

 // 例としてデータを追加します(例として)
 wb.Worksheet("sheet1").Cell("A1").Value = "データ1";
 wb.Worksheet("sheet1").Cell("B1").Value = "データ2";
 wb.Worksheet("sheet1").Cell("C1").Value = "データ3"; // この列が最終列になります。

 // 最終列を使用している列を取得します
 var lastColumn = worksheet.LastColumnUsed();

 // 最終列の列番号を取得します。この場合、lastColumnNumberには、3が入ります
 int lastColumnNumber = lastColumn.ColumnNumber();

 // 取得した最終列を利用したい場合のコードをここに記述します。
 // 例えば、最終列の次の列に値を設定する。
 wb.Worksheet("sheet1").Cell(1, lastColumnNumber + 1).Value = "次のデータ";

 
 // 名前を付けて保存
 wb.SaveAs(@"C:\新しいフォルダー\エクセルブック_保存.xlsx"); 
}

スポンサーリンク

クリックしてジャンプ