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:

  1. Cargar el archivo de muestra.
  2. Obtener la fila que necesita obtener el índice de columna máximo e índice de columna de datos máximo.
  3. Llama al método Cell.getColumn() en la celda.
  4. Crear un rango basado en la columna.
  5. Obtener el iterador y recorrer el rango.
  6. 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);