Obtener el índice de columna máximo en fila y el índice de fila máximo en columna
Escenarios de uso posibles
Cuando solo necesita manipular algunos datos en las filas o columnas, es necesario conocer el rango de datos de las filas y columnas. Aspose.Cells ofrece esta función. Para obtener el índice de columna máximo en una fila, puede obtener las propiedades Row.LastCell y Row.LastDataCell, y luego usar la propiedad Cell.Column para obtener el índice de columna máximo y el índice de columna de datos máximo. Pero para obtener el índice de fila máximo e índice de fila de datos máximo en una columna, es necesario crear un rango en la columna, luego recorrer el rango para encontrar la última celda y finalmente obtener el atributo Cell.Row en la celda.
Aspose.Cells proporciona las siguientes propiedades y métodos para ayudarlo a alcanzar sus metas.
Obtener el índice de columna máximo en fila y el índice de fila máximo en columna usando Aspose.Cells
Este ejemplo muestra cómo:
- Cargar el archivo de muestra.
- Obtener la fila que necesita obtener el índice de columna máximo e índice de columna de datos máximo.
- Obtener el atributo Cell.Column en la celda.
- Crear un rango basado en la columna.
- Obtener el iterador y recorrer el rango.
- Obtener el atributo Cell.Row en la celda.
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); |