web-dev-qa-db-ja.com

ClosedXMLは最後の行番号を検索します

ClosedXMLとC#を使用して、Excelブックを変更しています。使用された最後の行番号を見つける必要がありますが、.RowCount()はワークシートの行数をカウントします。したがって、数千行しかない場合は100万行を返します。 LastRowUsed()を試しましたが、intが返されず、.rowメソッドがありません。 intの最後の行を取得するにはどうすればよいですか?

6
Daniel Blois

RowsUsed();を使用できます。

var wb = new XLWorkbook();
    var ws = wb.worksheets.add("data");
    var totalRows = ws.RowsUsed().Count();
6
bird

LastRowUsed()関数は行オブジェクトを返します。使用する

worksheet.LastRowUsed().RowNumber()

使用された最後の行の番号を取得します。

.LastRowUsed()を使用する必要があります

official GitHub repo からのより便利なもの:

range.FirstCell()
range.FirstCellUsed()
range.FirstColumn()
range.FirstColumnUsed()
range.FirstRow()
range.FirstRowUsed()

range.LastCell()
range.LastCellUsed()
range.LastColumn()
range.LastColumnUsed()
range.LastRow()
range.LastRowUsed()
4
ManishChristian

私はこのコードを使用しました

libro = new XLWorkbook("file.xlsx");
hoja = libro.Worksheet(1);
var primeraCeldaUsada = hoja.FirstCellUsed();
var ultimaCeldaUsada = hoja.LastCellUsed();
var rango = hoja.Range(primeraCeldaUsada.Address, ultimaCeldaUsada.Address);
int ultfila = int.Parse(ultimaCeldaUsada.Address.RowNumber.ToString());
for (int i = 7; i <= ultfila; i++)
    {
    hoja.Cell(i, 3).Value = hoja.Cell(i, 3).Address.ToString();
    }