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

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

Когда необходимо просто манипулировать некоторыми данными в строках или столбцах, важно знать диапазон данных. Aspose.Cells for Node.js via C++ предлагает эту возможность. Для получения максимального индекса столбца в строке можно использовать методы Row.getLastCell() и Row.getLastDataCell(), а затем использовать метод Cell.getColumn() для получения максимального индекса столбца и максимального индекса данных в столбце. Однако для получения максимального индекса строки и максимального индекса данных строки в столбце необходимо создать диапазон по столбцу, пройти по диапазону, чтобы найти последнюю ячейку, и, наконец, вызвать метод Cell.getRow() на ячейке.

Aspose.Cells for Node.js via C++ предоставляет следующие свойства и методы, которые помогают вам достигнуть ваших целей.

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

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

  1. Загрузите образец файла.
  2. Получите строку, которая нуждается в получении максимального индекса столбца и максимального индекса данных столбца.
  3. Вызовите метод Cell.getColumn() на ячейке.
  4. Создайте диапазон на основе столбца.
  5. Получите итератор и пройдите по диапазону.
  6. Вызовите метод Cell.getRow() на ячейке.
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);