Получить максимальный индекс столбца в строке и максимальный индекс строки в столбце
Возможные сценарии использования
Когда вам нужно обрабатывать некоторые данные по строкам или столбцам, вам нужно знать диапазон данных по строкам и столбцам. Aspose.Cells предлагает эту функцию. Чтобы получить максимальный индекс столбца в строке, вы можете получить свойства Row.LastCell и Row.LastDataCell, а затем использовать свойство Cell.Column для получения максимального индекса столбца и максимального индекса данных столбца. Но чтобы получить максимальный индекс строки и максимальный индекс строки данных в столбце, вам нужно создать диапазон в столбце, затем пройти по диапазону, чтобы найти последнюю ячейку, и наконец получить атрибут Cell.Row на ячейке.
Aspose.Cells предоставляет следующие свойства и методы, чтобы помочь вам достичь своих целей.
Получите максимальный индекс столбца в строке и максимальный индекс строки в столбце, используя Aspose.Cells
Этот пример показывает, как:
- Загрузите образец файла.
- Получите строку, которая нуждается в получении максимального индекса столбца и максимального индекса данных столбца.
- Получите атрибут Cell.Column на ячейке
- Создайте диапазон на основе столбца.
- Получите итератор и пройдите по диапазону.
- Получите атрибут 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); |