Einleitung
Aspose.Cells FOSS für TypeScript stellt seine Funktionalität über einen kompakten Satz von Kernklassen bereit: Workbook, WorksheetCollection, Worksheet, Cell und Style, plus unterstützende Typen für Formatierung und Filterung. Dieser Beitrag ist eine systematische Tour über diese Kern-API-Oberfläche – kein einzelnes enges Thema, sondern die Grundlagen, die jede auf der Bibliothek aufbauende Anwendung verwendet: Arbeitsmappen öffnen und speichern, Arbeitsblätter navigieren, Zellenwerte und Formeln lesen und schreiben, Stile anwenden, Daten filtern und in andere Formate exportieren.
Jeder Abschnitt unten behandelt einen Bereich des API mit den konkreten Methoden und Eigenschaften, unterstützt durch funktionierende TypeScript-Beispiele. Das Ziel ist es, Ihnen ein funktionierendes mentales Modell zu vermitteln, wie die Teile zusammenpassen, von new Workbook() bis zu einzelnen Cell-Eigenschaften.
Hauptfunktionen
Grundlagen von Arbeitsmappe und Arbeitsblatt
Eine Workbook wird entweder leer mit new Workbook() erstellt oder asynchron aus einer bestehenden Datei mit Workbook.load(filePath, password) geladen. Jede Arbeitsmappe stellt worksheets bereit, ein WorksheetCollection, das Indexierung, Iteration und array-artige Methoden (map, filter, forEach, find, indexOf) zusätzlich zu addWorksheet(name), removeWorksheet(index) und moveWorksheet(fromIndex, toIndex) unterstützt. Rufen Sie workbook.save(filePath, options) auf, um Änderungen zu speichern.
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");
Zugriff auf Zellen und Werte
Ein Worksheet liest und schreibt Zellen über putValue(key, value), getCell2(key) (liefert ein Cell, erstellt es falls nicht vorhanden), getCell(row, col) (liefert Cell | undefined) und getCellByRef(ref). Jede Cell stellt value, formula, row, col und ref als Eigenschaften bereit und setFormula() / setStyle() / setHyperlink() als Methoden.
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");
Stil, Schriftart, Rahmen und Ausrichtung
Style fasst Schriftart, Füllung, Rahmen, Ausrichtung und Zahlenformat-Einstellungen für eine Zelle zusammen. Lesen oder ersetzen Sie ganze Unterobjekte mit getFont()/setFont(), getBorder()/setBorder() und getAlignment()/setAlignment() oder verwenden Sie die Komfort-Setter direkt auf Style, z.B. setFontName(), setFontSize(), setBold(), setHorizontalAlignment() und setNumberFormat(). Wenden Sie das fertige Style mit Cell.setStyle() auf eine Zelle an.
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");
Auto-Filterung mit der Klasse AutoFilter
Worksheet.setAutoFilter(range) ist eine Abkürzung für den üblichen Fall, aber die zugrunde liegende Klasse AutoFilter kann ebenfalls direkt verwendet werden: Sie wird mit einem Bereich konstruiert und dann wird addFilterColumn(col, filters, blank) pro Spalte aufgerufen, um festzulegen, welche Werte sichtbar bleiben sollen, oder removeFilterColumn(col) / clear(), um die Filterung rückgängig zu machen.
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");
Exportieren nach HTML, CSV, JSON und Markdown
Über .xlsx hinaus kann ein Workbook sich selbst direkt als Text mit toHtml(), toCsv(), toJson() und toMarkdown() rendern oder in eine Datei speichern, deren Erweiterung das Format über das SaveFormat-Enum (XLSX, CSV, JSON, MARKDOWN, HTML) auswählt.
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");
Schnellstart
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);
Unterstützte Formate
| Format | Erweiterung | Lesen | Schreiben |
|---|---|---|---|
| XLSX | .xlsx | ✓ | ✓ |
| HTML | .html | ✓ | ✓ |
| CSV | .csv | — | ✓ |
| JSON | .json | — | ✓ |
| Markdown | .md | — | ✓ |
Open Source & Lizenzierung
Aspose.Cells FOSS für TypeScript wird unter der MIT-Lizenz veröffentlicht. Der Quellcode ist verfügbar auf GitHub. Die kommerzielle Nutzung ist gemäß den Bedingungen der MIT-Lizenz gestattet.