Ajustar automáticamente filas y columnas con Node.js a través de C++

Ajuste automático

Aspose.Cells proporciona una clase Workbook que representa un archivo de Microsoft Excel. La clase Workbook contiene una colección Workbook.getWorksheets() que permite acceder a cada hoja en un archivo Excel. Una hoja de cálculo está representada por la clase Worksheet. La clase Worksheet ofrece una amplia gama de propiedades y métodos para gestionar una hoja de cálculo. Este artículo analiza cómo usar la clase Worksheet para ajustar filas o columnas automáticamente.

Ajuste automático de fila - Simple

El enfoque más sencillo para ajustar automáticamente el ancho y la altura de una fila es llamar al método autoFitRow de la clase Worksheet. El método autoFitRow toma un índice de fila (de la fila a redimensionar) como parámetro.

const path = require("path");
const AsposeCells = require("aspose.cells.node");

// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
const inputPath = path.join(dataDir, "Book1.xlsx");

// Reading the Excel file into a buffer
const fs = require("fs");
const fileBuffer = fs.readFileSync(inputPath);

// Opening the Excel file through the buffer
const workbook = new AsposeCells.Workbook(fileBuffer);

// Accessing the first worksheet in the Excel file
const worksheet = workbook.getWorksheets().get(0);

// Auto-fitting the 3rd row of the worksheet
worksheet.autoFitRow(1);

// Saving the modified Excel file
const outputPath = path.join(dataDir, "output.xlsx");
workbook.save(outputPath);

Cómo AutoAjustar una Fila en un Rango de Celdas

Una fila está compuesta por muchas columnas. Aspose.Cells permite a los desarrolladores ajustar automáticamente una fila basada en el contenido en un rango de celdas dentro de la fila llamando a una versión sobrecargada del método autoFitRow. Toma los siguientes parámetros:

  • Índice de la fila, el índice de la fila a ajustar automáticamente.
  • Índice de la primera columna, el índice de la primera columna de la fila.
  • Índice de la última columna, el índice de la última columna de la fila.

El método autoFitRow verifica el contenido de todas las columnas en la fila y luego ajusta automáticamente la fila.

const AsposeCells = require("aspose.cells.node");
const path = require("path");

// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
const inputPath = path.join(dataDir, "Book1.xlsx");

// Reading the Excel file into a buffer
const fs = require("fs");
const fileData = fs.readFileSync(inputPath);

// Opening the Excel file through the buffer
const workbook = new AsposeCells.Workbook(fileData);

// Accessing the first worksheet in the Excel file
const worksheet = workbook.getWorksheets().get(0);

// Auto-fitting the 3rd row of the worksheet
worksheet.autoFitRow(1, 0, 5);

// Saving the modified Excel file
workbook.save(path.join(dataDir, "output.xlsx"));

Cómo AutoAjustar una Columna en un Rango de Celdas

Una columna está compuesta por muchas filas. Es posible ajustar automáticamente una columna basada en el contenido en un rango de celdas en la columna llamando a una versión sobrecargada del método autoFitColumn que toma los siguientes parámetros:

  • Índice de columna, el índice de la columna que se va a ajustar automáticamente.
  • Índice de la primera fila, el índice de la primera fila de la columna.
  • Índice de la última fila, el índice de la última fila de la columna.

El método autoFitColumn verifica el contenido de todas las filas en la columna y luego ajusta automáticamente la columna.

const path = require("path");
const AsposeCells = require("aspose.cells.node");

// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
const inputPath = path.join(dataDir, "Book1.xlsx");

// Creating a file stream containing the Excel file to be opened
const fs = require("fs");
const workbook = new AsposeCells.Workbook(fs.readFileSync(inputPath));

// Accessing the first worksheet in the Excel file
const worksheet = workbook.getWorksheets().get(0);

// Auto-fitting the Column of the worksheet
worksheet.autoFitColumn(4);

// Saving the modified Excel file
workbook.save(path.join(dataDir, "output.xlsx"));

Cómo AutoAjustar Filas para Celdas Fusionadas

Con Aspose.Cells, es posible ajustar automáticamente filas incluso para celdas que han sido combinadas usando la API AutoFitterOptions. La clase AutoFitterOptions proporciona una propiedad AutoFitterOptions.getAutoFitMergedCellsType() que puede ser utilizada para ajustar automáticamente filas para celdas combinadas. AutoFitterOptions.getAutoFitMergedCellsType() acepta un enumerable AutoFitMergedCellsType que tiene los siguientes miembros.

  • Ninguno: Ignora las celdas combinadas.
  • PrimeraLinea: Solo expande la altura de la primera fila.
  • ÚltimaLinea: Solo expande la altura de la última fila.
  • CadaLinea: Solo expande la altura de cada fila.
const path = require("path");
const AsposeCells = require("aspose.cells.node");

// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
const outputDir = path.join(dataDir, "output");

// Instantiate a new Workbook
const wb = new AsposeCells.Workbook();

// Get the first (default) worksheet
const worksheet = wb.getWorksheets().get(0);

// Create a range A1:B1
const range = worksheet.getCells().createRange(0, 0, 1, 2);

// Merge the cells
range.merge();

// Insert value to the merged cell A1
worksheet.getCells().get(0, 0).setValue("A quick brown fox jumps over the lazy dog. A quick brown fox jumps over the lazy dog....end");

// Create a style object
const style = worksheet.getCells().get(0, 0).getStyle();

// Set wrapping text on
style.setIsTextWrapped(true);

// Apply the style to the cell
worksheet.getCells().get(0, 0).setStyle(style);

// Create an object for AutoFitterOptions
const options = new AsposeCells.AutoFitterOptions();

// Set auto-fit for merged cells
options.setAutoFitMergedCellsType(AsposeCells.AutoFitMergedCellsType.EachLine);

// Autofit rows in the sheet (including the merged cells)
worksheet.autoFitRows(options);

// Save the Excel file
wb.save(path.join(outputDir, "AutofitRowsforMergedCells.xlsx"));

Importante saber

Temas avanzados