Introduction
Aspose.Cells FOSS for TypeScript expose sa fonctionnalité via un ensemble compact de classes de base : Workbook, WorksheetCollection, Worksheet, Cell et Style, ainsi que des types de soutien pour le formatage et le filtrage. Cet article propose une visite systématique de cette surface principale de API — pas un sujet étroit unique, mais les fondamentaux que chaque application construite sur la bibliothèque utilise finalement : ouvrir et enregistrer des classeurs, naviguer parmi les feuilles de calcul, lire et écrire les valeurs et formules des cellules, appliquer des styles, filtrer les données et exporter vers d’autres formats.
Chaque section ci-dessous couvre un domaine du API avec les méthodes et propriétés concrètes impliquées, illustrées par des exemples fonctionnels de TypeScript. L’objectif est de vous fournir un modèle mental opérationnel de la façon dont les éléments s’assemblent, du new Workbook() jusqu’aux propriétés individuelles du Cell.
Fonctionnalités clés
Principes fondamentaux du classeur et de la feuille de calcul
Un Workbook est soit créé vide avec new Workbook(), soit chargé de façon asynchrone à partir d’un fichier existant avec Workbook.load(filePath, password). Chaque classeur expose worksheets, un WorksheetCollection qui prend en charge l’indexation, l’itération et les méthodes de type tableau (map, filter, forEach, find, indexOf) en plus de addWorksheet(name), removeWorksheet(index) et moveWorksheet(fromIndex, toIndex). Appelez workbook.save(filePath, options) pour persister les modifications.
const workbook = new Workbook();
const ws1 = workbook.worksheets.addWorksheet();
const ws2 = workbook.worksheets.addWorksheet("CustomSheet1");
console.log("Total worksheets:", workbook.worksheets.length);
workbook.worksheets.removeWorksheet(1);
console.log("After delete:", workbook.worksheets.length);
console.log(
"Names:",
workbook.worksheets.worksheets.map((w) => w.name),
);
await workbook.save("workbook.xlsx");
Accès aux cellules et valeurs
Un Worksheet lit et écrit des cellules via putValue(key, value), getCell2(key) (renvoie un Cell, le créant si absent), getCell(row, col) (renvoie Cell | undefined), et getCellByRef(ref). Chaque Cell expose value, formula, row, col et ref comme propriétés, et setFormula() / setStyle() / setHyperlink() comme méthodes.
const workbook = new Workbook();
const sheet = workbook.worksheets[0]!;
sheet.putValue("A1", 42);
sheet.putValue("A2", "Hello World");
const formulaCell = sheet.getCell2("A3");
formulaCell.setFormula("=A1+10");
console.log("A1 value:", sheet.getCell(0, 0)?.value);
console.log("A3 formula:", sheet.getCell(2, 0)?.formula);
const byRef = sheet.getCellByRef("A1");
console.log("Ref:", byRef?.ref, "Row:", byRef?.row, "Col:", byRef?.col);
await workbook.save("cells.xlsx");
Style, police, bordure et alignement
Style regroupe les paramètres de police, remplissage, bordure, alignement et format numérique d’une cellule. Lire ou remplacer des sous-objets entiers avec getFont()/setFont(), getBorder()/setBorder() et getAlignment()/setAlignment(), ou utiliser les accesseurs pratiques directement sur Style, tels que setFontName(), setFontSize(), setBold(), setHorizontalAlignment() et setNumberFormat(). Appliquer le Style terminé à une cellule avec Cell.setStyle().
const workbook = new Workbook();
const sheet = workbook.worksheets[0]!;
const style = new Style();
style.setFontName("Arial");
style.setFontSize(14);
style.setBold(true);
style.setNumberFormat("0.00");
style.getBorder().bottom = { style: "thin", color: "000000" };
style.setHorizontalAlignment("center");
style.setVerticalAlignment("center");
style.setWrapText(true);
const cell = sheet.getCell2("B2");
cell.putValue(1234.5);
cell.setStyle(style);
console.log("Bold:", style.isBold(), "Format:", style.getNumberFormat());
await workbook.save("styled.xlsx");
Filtrage automatique avec la classe AutoFilter
Worksheet.setAutoFilter(range) est un raccourci pour le cas le plus fréquent, mais la classe sous-jacente AutoFilter peut également être utilisée directement: construisez-la avec une plage, puis appelez addFilterColumn(col, filters, blank) par colonne pour définir quelles valeurs doivent rester visibles, ou removeFilterColumn(col) / clear() pour annuler le filtrage.
const workbook = new Workbook();
const sheet = workbook.worksheets[0]!;
sheet.putValue("A1", "Name");
sheet.putValue("B1", "City");
sheet.putValue("A2", "Alice");
sheet.putValue("B2", "New York");
sheet.putValue("A3", "Bob");
sheet.putValue("B3", "London");
const filter = new AutoFilter("A1:B3");
filter.addFilterColumn(1, ["New York"], false);
console.log("Filter range:", filter.range);
console.log("Filter columns:", filter.columns.length);
await workbook.save("filtered.xlsx");
Exportation vers HTML, CSV, JSON et Markdown
Au-delà de .xlsx, un Workbook peut se rendre directement en texte avec toHtml(), toCsv(), toJson() et toMarkdown(), ou être enregistré dans un fichier dont l’extension sélectionne le format via l’énumération SaveFormat (XLSX, CSV, JSON, MARKDOWN, HTML).
const workbook = new Workbook();
const sheet = workbook.worksheets[0]!;
sheet.putValue("A1", "Name");
sheet.putValue("B1", "Age");
sheet.putValue("A2", "Alice");
sheet.putValue("B2", 25);
sheet.putValue("A3", "Bob");
sheet.putValue("B3", 30);
console.log("JSON:", workbook.toJson());
console.log("Markdown:\n", workbook.toMarkdown());
await workbook.save("report.csv");
await workbook.save("report.html");
Démarrage rapide
git clone https://github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-TypeScript.git
cd Aspose.Cells-FOSS-for-TypeScript
npm install
npm run buildimport { Workbook, Style } from "excel-cells";
const workbook = new Workbook();
const sheet = workbook.worksheets.get(0)!;
sheet.name = "Summary";
sheet.putValue("A1", "Item");
sheet.putValue("B1", "Count");
sheet.putValue("A2", "Widgets");
sheet.putValue("B2", 12);
sheet.putValue("A3", "Gadgets");
sheet.putValue("B3", 7);
const totalCell = sheet.getCell2("B4");
totalCell.setFormula("=SUM(B2:B3)");
const numberStyle = new Style();
numberStyle.setNumberFormat("0");
sheet.getCell2("B2").setStyle(numberStyle);
sheet.getCell2("B3").setStyle(numberStyle);
sheet.getCell2("B4").setStyle(numberStyle);
const detail = workbook.worksheets.addWorksheet("Detail");
detail.putValue("A1", "Raw Data");
await workbook.save("summary.xlsx");
const reloaded = await Workbook.load("summary.xlsx");
console.log("Worksheets:", reloaded.worksheets.length);
console.log("B4 formula:", reloaded.worksheets.get(0)!.getCell(3, 1)?.formula);
Formats pris en charge
| Format | Extension | Lire | Écrire |
|---|---|---|---|
| XLSX | .xlsx | ✓ | ✓ |
| HTML | .html | ✓ | ✓ |
| CSV | .csv | — | ✓ |
| JSON | .json | — | ✓ |
| Markdown | .md | — | ✓ |
Open source et licences
Aspose.Cells FOSS pour TypeScript est publié sous la licence MIT. Le code source est disponible sur GitHub. L’utilisation commerciale est autorisée selon les termes de la licence MIT.