Gestionar datos de archivos de Excel

Cómo agregar datos a las celdas

Aspose.Cells for Node.js via C++ proporciona una clase, Workbook, que representa un archivo de Microsoft Excel. La clase Workbook contiene una colección de Worksheets que permite acceder a cada hoja de cálculo en el archivo Excel. Una hoja de cálculo está representada por la clase Worksheet. La clase Worksheet ofrece una colección Cells. Cada elemento en la colección Cells representa un objeto de la clase Cell.

Aspose.Cells permite a los desarrolladores agregar datos a las celdas en hojas de cálculo llamando al método putValue de la clase Cell. Aspose.Cells proporciona versiones sobrecargadas del método putValue que permiten a los desarrolladores agregar diferentes tipos de datos a las celdas. Usando estas versiones sobrecargadas del método putValue, es posible agregar valores booleanos, cadenas, doble, enteros, o fecha/hora, etc.

const path = require("path");
const AsposeCells = require("aspose.cells.node");
// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
// Create directory if it is not already present.
const fs = require("fs");
if (!fs.existsSync(dataDir)) {
fs.mkdirSync(dataDir);
}
// Instantiating a Workbook object
let workbook = new AsposeCells.Workbook();
// Obtaining the reference of the first worksheet
let worksheet = workbook.getWorksheets().get(0);
// Adding a string value to the cell
worksheet.getCells().get("A1").putValue("Hello World");
// Adding a double value to the cell
worksheet.getCells().get("A2").putValue(20.5);
// Adding an integer value to the cell
worksheet.getCells().get("A3").putValue(15);
// Adding a boolean value to the cell
worksheet.getCells().get("A4").putValue(true);
// Adding a date/time value to the cell
worksheet.getCells().get("A5").putValue(new Date());
// Setting the display format of the date
let style = worksheet.getCells().get("A5").getStyle();
style.setNumber(15);
worksheet.getCells().get("A5").setStyle(style);
// Saving the Excel file
workbook.save(path.join(dataDir, "output.out.xls"));

Cómo mejorar la eficiencia

Si usas el método putValue para poner una gran cantidad de datos en una hoja, deberías agregar valores a las celdas, primero por filas y luego por columnas. Este enfoque mejora mucho la eficiencia de tus aplicaciones.

Cómo recuperar datos de las celdas

Aspose.Cells for Node.js via C++ proporciona una clase, Workbook, que representa un archivo de Microsoft Excel. La clase Workbook contiene una colección de Worksheets que permite acceder a las hojas de cálculo en el archivo. Una hoja de cálculo está representada por la clase Worksheet. La clase Worksheet ofrece una colección Cells. Cada elemento en la colección Cells representa un objeto de la clase Cell.

La clase Cell proporciona varias propiedades que permiten a los desarrolladores obtener valores de las celdas según sus tipos de datos. Estas propiedades incluyen:

Cuando un campo no está lleno, las celdas con getDoubleValue() o getFloatValue() generan una excepción.

El tipo de datos contenido en una celda también puede verificarse usando el método getType() de la clase Cell. De hecho, el método getType() de la clase Cell se basa en la enumeración CellValueType, cuyos valores predefinidos se listan a continuación:

Tipos de Valor de Celda Descripción
IsBool Especifica que el valor de la celda es Booleano.
IsDateTime Especifica que el valor de la celda es fecha/hora.
IsNull Representa una celda en blanco.
IsNumeric Especifica que el valor de la celda es numérico.
IsString Especifica que el valor de la celda es una cadena de texto.
IsUnknown Especifica que el valor de la celda es desconocido.

También puedes utilizar los tipos de valor de celda predefinidos anteriores para comparar con el tipo de datos presente en cada celda.

const AsposeCells = require("aspose.cells.node");
const path = require("path");
// The path to the documents directory.
const dataDir = path.join(__dirname, "data");
// Opening an existing workbook
const workbook = new AsposeCells.Workbook("book1.xls");
// Accessing first worksheet
const worksheet = workbook.getWorksheets().get(0);
var cells = worksheet.getCells();
var maxRow = cells.getMaxRow();
var maxColumn = cells.getMaxColumn();
for (let i = 0; i <= maxRow; i++) {
for (let j = 0; j <= maxColumn; j++)
{
const cell1 = cells.get(i, j);
// Variables to store values of different data types
let stringValue;
let doubleValue;
let boolValue;
let dateTimeValue;
// Passing the type of the data contained in the cell for evaluation
switch (cell1.getType()) {
// Evaluating the data type of the cell data for string value
case AsposeCells.CellValueType.IsString:
stringValue = cell1.getStringValue();
console.log("String Value: " + stringValue);
break;
// Evaluating the data type of the cell data for double value
case AsposeCells.CellValueType.IsNumeric:
doubleValue = cell1.getDoubleValue();
console.log("Double Value: " + doubleValue);
break;
// Evaluating the data type of the cell data for boolean value
case AsposeCells.CellValueType.IsBool:
boolValue = cell1.getBoolValue();
console.log("Bool Value: " + boolValue);
break;
// Evaluating the data type of the cell data for date/time value
case AsposeCells.CellValueType.IsDateTime:
dateTimeValue = cell1.getDateTimeValue();
console.log("DateTime Value: " + dateTimeValue);
break;
// Evaluating the unknown data type of the cell data
case AsposeCells.CellValueType.IsUnknown:
stringValue = cell1.getStringValue();
console.log("Unknown Value: " + stringValue);
break;
// Terminating the type checking of type of the cell data is null
case AsposeCells.CellValueType.IsNull:
break;
}
}
}

Temas avanzados