Gérer les données des fichiers Excel

Comment ajouter des données aux cellules

Aspose.Cells for Node.js via C++ fournit une classe, Workbook, qui représente un fichier Microsoft Excel. La classe Workbook contient une collection Worksheets qui permet l’accès à chaque feuille dans le fichier Excel. Une feuille est représentée par la classe Worksheet. La classe Worksheet fournit une collection Cells. Chaque élément de la collection Cells représente un objet de la classe Cell.

Aspose.Cells permet aux développeurs d’ajouter des données dans les cellules des feuilles de calcul en appelant la méthode putValue de la classe Cell. Aspose.Cells propose des versions surchargeables de la méthode putValue qui permettent aux développeurs d’ajouter différents types de données dans les cellules. En utilisant ces versions surchargeables de la méthode putValue, il est possible d’ajouter des valeurs de type Boolean, chaîne, double, entier, ou date/heure, etc. dans la cellule.

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"));

Comment améliorer l’efficacité

Si vous utilisez la méthode putValue pour insérer une grande quantité de données dans une feuille de calcul, vous devriez d’abord ajouter des valeurs aux cellules, ligne par ligne puis colonnes par colonnes. Cette approche améliore considérablement l’efficacité de vos applications.

Comment récupérer des données à partir de cellules

Aspose.Cells for Node.js via C++ fournit une classe, Workbook qui représente un fichier Microsoft Excel. La classe Workbook contient une collection Worksheets qui permet l’accès aux feuilles dans le fichier. Une feuille est représentée par la classe Worksheet. La classe Worksheet fournit une collection Cells. Chaque élément de la collection Cells représente un objet de la classe Cell.

La classe Cell fournit plusieurs propriétés permettant aux développeurs de récupérer les valeurs des cellules selon leurs types de données. Ces propriétés incluent :

Lorsqu’un champ n’est pas rempli, les cellules avec getDoubleValue() ou getFloatValue() génèrent une exception.

Le type de données contenu dans une cellule peut également être vérifié en utilisant la méthode getType() de la classe Cell. En fait, la méthode getType() de la classe Cell est basée sur l’énumération CellValueType dont les valeurs prédéfinies sont listées ci-dessous :

Types de valeur de cellule Description
IsBool Spécifie que la valeur de la cellule est un booléen.
IsDateTime Spécifie que la valeur de la cellule est une date/heure.
IsNull Représente une cellule vide.
IsNumeric Spécifie que la valeur de la cellule est numérique.
IsString Spécifie que la valeur de la cellule est une chaîne de caractères.
IsUnknown Spécifie que la valeur de la cellule est inconnue.

Vous pouvez également utiliser les types de valeur de cellule prédéfinis ci-dessus pour comparer avec le Type de données présent dans chaque cellule.

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;
}
}
}

Sujets avancés