Получить максимальный индекс столбца в строке и максимальный индекс строки в столбце

Возможные сценарии использования

Когда вам нужно обрабатывать некоторые данные по строкам или столбцам, вам нужно знать диапазон данных по строкам и столбцам. Aspose.Cells предлагает эту функцию. Чтобы получить максимальный индекс столбца в строке, вы можете получить свойства Row.LastCell и Row.LastDataCell, а затем использовать свойство Cell.Column для получения максимального индекса столбца и максимального индекса данных столбца. Но чтобы получить максимальный индекс строки и максимальный индекс строки данных в столбце, вам нужно создать диапазон в столбце, затем пройти по диапазону, чтобы найти последнюю ячейку, и наконец получить атрибут Cell.Row на ячейке.

Aspose.Cells предоставляет следующие свойства и методы, чтобы помочь вам достичь своих целей.

Получите максимальный индекс столбца в строке и максимальный индекс строки в столбце, используя Aspose.Cells

Этот пример показывает, как:

  1. Загрузите образец файла.
  2. Получите строку, которая нуждается в получении максимального индекса столбца и максимального индекса данных столбца.
  3. Получите атрибут Cell.Column на ячейке
  4. Создайте диапазон на основе столбца.
  5. Получите итератор и пройдите по диапазону.
  6. Получите атрибут Cell.Row на ячейке
Workbook workbook = new Workbook(filePath + "sample.xlsx");
Worksheet sheet = workbook.Worksheets[0];
Cells cells = sheet.Cells;
Row row = cells.CheckRow(1);
if (row != null)
{
//get Maximum column index of Row which contains data or style.
Console.WriteLine("Max column index in row: " + row.LastCell.Column);
//get Maximum column index of Row which contains data.
Console.WriteLine("Max data column index in row: " + row.LastDataCell.Column);
}
// create the range of column B
Range columnRange = cells.CreateRange(1, 1, true);
IEnumerator colIter = columnRange.GetEnumerator();
int maxRow = 0;
int maxDataRow = 0;
while (colIter.MoveNext())
{
Cell currCell = (Cell)colIter.Current;
if (!string.IsNullOrEmpty(currCell.StringValue))
{
maxDataRow = currCell.Row;
}
if (!string.IsNullOrEmpty(currCell.StringValue) || currCell.HasCustomStyle)
{
maxRow = currCell.Row;
}
}
//Maximum row index of Column which contains data or style.
Console.WriteLine("Max row index in Column: " + maxRow);
//Maximum row index of Column which contains data.
Console.WriteLine("Max data row index in Column: " + maxDataRow);