Obtener el índice de columna máximo en fila y el índice de fila máximo en columna
Escenarios de uso posibles
Cuando solo necesitas manipular algunos datos en filas o columnas, debes conocer el rango de datos de filas y columnas. Aspose.Cells for Node.js via C++ ofrece esta función. Para obtener el índice máximo de columna en una fila, puedes usar los métodos Row.getLastCell() y Row.getLastDataCell(), y luego usar el método Cell.getColumn() para obtener el índice máximo de columna y el índice máximo de columna de datos. Pero para obtener el índice máximo de fila y el índice máximo de datos de fila en una columna, debes crear un rango en la columna, recorrerlo para encontrar la última celda y finalmente llamar al método Cell.getRow() en la celda.
Aspose.Cells for Node.js via C++ proporciona las siguientes propiedades y métodos para ayudarte a lograr tus objetivos.
Obtener el índice máximo de columna en fila y el índice máximo de fila en columna
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.
- Llama al método Cell.getColumn() en la celda.
- Crear un rango basado en la columna.
- Obtener el iterador y recorrer el rango.
- Llama al método Cell.getRow() en la celda.
const AsposeCells = require("aspose.cells.node"); | |
const path = require("path"); | |
// The path to the documents directory. | |
const dataDir = path.join(__dirname, "data"); | |
const workbook = new AsposeCells.Workbook(dataDir +"sample.xlsx"); | |
const sheet = workbook.getWorksheets().get(0); | |
const cells = sheet.getCells(); | |
const row = cells.checkRow(1); | |
if (row != null) { | |
//get Maximum column index of Row which contains data or style. | |
console.log("Max column index in row: " + row.getLastCell().getColumn()); | |
//get Maximum column index of Row which contains data. | |
console.log("Max data column index in row: " + row.getLastDataCell().getColumn()); | |
} | |
// create the range of column B | |
const columnRange = cells.createRange(1, 1, true); | |
var max_row_index = cells.getMaxRow() + 1; | |
var maxRow = 0; | |
var maxDataRow = 0; | |
for (let row_index = 0; row_index < max_row_index; row_index++) | |
{ | |
var curr_cell = cells.get(row_index, 1); | |
if (curr_cell) | |
{ | |
if (curr_cell.getStringValue()) | |
{ | |
maxDataRow = curr_cell.getRow(); | |
} | |
if (curr_cell.getStringValue() || curr_cell.getHasCustomStyle()) | |
{ | |
maxRow = curr_cell.getRow(); | |
} | |
} | |
} | |
//Maximum row index of Column which contains data or style. | |
console.log("Max row index in Column: " + maxRow); | |
//Maximum row index of Column which contains data. | |
console.log("Max data row index in Column: " + maxDataRow); |