Εισαγωγή

Aspose.Cells FOSS για TypeScript αποκαλύπτει τη λειτουργικότητά του μέσω ενός συμπαγούς συνόλου βασικών κλάσεων: Workbook, WorksheetCollection, Worksheet, Cell και Style, καθώς και υποστηρικτικών τύπων για μορφοποίηση και φιλτράρισμα. Αυτή η ανάρτηση είναι μια συστηματική περιήγηση στην πυρήνα API επιφάνεια — όχι ένα μόνο στενό θέμα, αλλά τα θεμελιώδη που κάθε εφαρμογή που χτίζεται πάνω στη βιβλιοθήκη καταλήγει να χρησιμοποιεί: το άνοιγμα και την αποθήκευση βιβλιοθηκών εργασίας, την πλοήγηση στα φύλλα εργασίας, την ανάγνωση και εγγραφή τιμών κελιών και τύπων, την εφαρμογή στυλ, το φιλτράρισμα δεδομένων και την εξαγωγή σε άλλες μορφές.

Κάθε ενότητα παρακάτω καλύπτει μία περιοχή του API με τις συγκεκριμένες μεθόδους και ιδιότητες που εμπλέκονται, υποστηριζόμενη από λειτουργικά παραδείγματα TypeScript. Ο στόχος είναι να σας προσφέρει ένα λειτουργικό νοητικό μοντέλο για το πώς τα μέρη ταιριάζουν μεταξύ τους, από το new Workbook() μέχρι τις μεμονωμένες ιδιότητες Cell.


Βασικά Χαρακτηριστικά

Βασικές Αρχές Workbook και Worksheet

Ένα Workbook είτε δημιουργείται κενό με new Workbook() είτε φορτώνεται ασύγχρονα από υπάρχον αρχείο με Workbook.load(filePath, password). Κάθε βιβλιοθήκη εργασίας εκθέτει το worksheets, ένα WorksheetCollection που υποστηρίζει ευρετηρίαση, επανάληψη και μεθόδους τύπου πίνακα (map, filter, forEach, find, indexOf) επιπλέον του addWorksheet(name), removeWorksheet(index) και moveWorksheet(fromIndex, toIndex). Κλήστε το workbook.save(filePath, options) για να αποθηκεύσετε τις αλλαγές.

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

Πρόσβαση σε Κελιά και Τιμές

Ένα Worksheet διαβάζει και γράφει κελιά μέσω putValue(key, value), getCell2(key) (επιστρέφει ένα Cell, δημιουργώντας το αν λείπει), getCell(row, col) (επιστρέφει Cell | undefined), και getCellByRef(ref). Κάθε Cell εκθέτει τα value, formula, row, col και ref ως ιδιότητες, και τα setFormula() / setStyle() / setHyperlink() ως μεθόδους.

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 ομαδοποιεί τις ρυθμίσεις γραμματοσειράς, γέμισμα, περιγράμματος, στοίχισης και μορφοποίησης αριθμών για ένα κελί. Διαβάστε ή αντικαταστήστε ολόκληρα υπο-αντικείμενα με getFont()/setFont(), getBorder()/setBorder() και getAlignment()/setAlignment(), ή χρησιμοποιήστε τους βολικούς setters απευθείας στο Style, όπως setFontName(), setFontSize(), setBold(), setHorizontalAlignment() και setNumberFormat(). Εφαρμόστε το τελικό Style σε ένα κελί με 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");

Αυτόματο Φιλτράρισμα με την κλάση AutoFilter

Worksheet.setAutoFilter(range) είναι μια συντόμευση για την κοινή περίπτωση, αλλά η υποκείμενη κλάση AutoFilter μπορεί επίσης να χρησιμοποιηθεί απευθείας: δημιουργήστε την με μια περιοχή, έπειτα καλέστε addFilterColumn(col, filters, blank) ανά στήλη για να ορίσετε ποιες τιμές πρέπει να παραμείνουν ορατές, ή removeFilterColumn(col) / clear() για να αναιρέσετε το φιλτράρισμα.

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

Εξαγωγή σε HTML, CSV, JSON και Markdown

Πέρα από το .xlsx, ένα Workbook μπορεί να αποδώσει τον εαυτό του απευθείας ως κείμενο με τα toHtml(), toCsv(), toJson() και toMarkdown(), ή να αποθηκευτεί σε αρχείο του οποίου η επέκταση επιλέγει τη μορφή μέσω του enum 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");

Γρήγορη Εκκίνηση

git clone https://github.com/aspose-cells-foss/Aspose.Cells-FOSS-for-TypeScript.git
cd Aspose.Cells-FOSS-for-TypeScript
npm install
npm run build
import { 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);

Υποστηριζόμενες μορφές

ΜορφήΕπέκτασηΑνάγνωσηΕγγραφή
XLSX.xlsx✓✓
HTML.html✓✓
CSV.csv—✓
JSON.json—✓
Markdown.md—✓

Ανοιχτός Κώδικας & Αδειοδότηση

Aspose.Cells FOSS για το TypeScript κυκλοφορεί υπό την άδεια MIT. Ο πηγαίος κώδικας είναι διαθέσιμος στο GitHub. Η εμπορική χρήση επιτρέπεται σύμφωνα με τους όρους της άδειας MIT.


Ξεκινώντας

Σχετικοί Πόροι