Introduktion

Aspose.Cells FOSS för TypeScript exponerar sin funktionalitet via en kompakt uppsättning kärnklasser: Workbook, WorksheetCollection, Worksheet, Cell och Style, samt stödjande typer för formatering och filtrering. Detta inlägg är en systematisk genomgång av det kärn-API-gränssnittet – inte ett enda smalt ämne, utan grunderna som varje applikation byggd på biblioteket slutligen använder: öppna och spara arbetsböcker, navigera bland kalkylblad, läsa och skriva cellvärden och formler, applicera stilar, filtrera data och exportera till andra format.

Varje avsnitt nedan täcker ett område av API med de konkreta metoderna och egenskaperna som är inblandade, stödda av fungerande TypeScript-exempel. Målet är att ge dig en fungerande mental modell för hur delarna passar ihop, från new Workbook() ner till enskilda Cell-egenskaper.


Nyckelfunktioner

Grundläggande om arbetsbok och arbetsblad

En Workbook skapas antingen tom med new Workbook() eller laddas asynkront från en befintlig fil med Workbook.load(filePath, password). Varje arbetsbok exponerar worksheets, en WorksheetCollection som stödjer indexering, iteration och array-liknande metoder (map, filter, forEach, find, indexOf) samt addWorksheet(name), removeWorksheet(index) och moveWorksheet(fromIndex, toIndex). Anropa workbook.save(filePath, options) för att spara ändringarna.

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

Cellåtkomst och värden

En Worksheet läser och skriver celler via putValue(key, value), getCell2(key) (returnerar en Cell, skapar den om den saknas), getCell(row, col) (returnerar Cell | undefined), och getCellByRef(ref). Varje Cell exponerar value, formula, row, col och ref som egenskaper, samt setFormula() / setStyle() / setHyperlink() som metoder.

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, teckensnitt, kantlinje och justering

Style grupperar teckensnitt, fyllning, kantlinje, justering och talformatinställningar för en cell. Läs eller ersätt hela delobjekt med getFont()/setFont(), getBorder()/setBorder() och getAlignment()/setAlignment(), eller använd bekvämlighets-setters direkt på Style, såsom setFontName(), setFontSize(), setBold(), setHorizontalAlignment() och setNumberFormat(). Applicera den färdiga Style på en cell med 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");

Autofiltrering med AutoFilter-klassen

Worksheet.setAutoFilter(range) är en genväg för det vanliga fallet, men den underliggande AutoFilter-klassen kan också användas direkt: konstruera den med ett intervall, och anropa sedan addFilterColumn(col, filters, blank) per kolumn för att definiera vilka värden som ska förbli synliga, eller removeFilterColumn(col) / clear() för att återställa filtreringen.

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

Exportering till HTML, CSV, JSON och Markdown

Utöver .xlsx kan en Workbook rendera sig själv direkt som text med toHtml(), toCsv(), toJson() och toMarkdown(), eller sparas till en fil vars filändelse väljer formatet via SaveFormat-enumet (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");

Snabbstart

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

Stödda format

FormatFiländelseLäsSkriv
XLSX.xlsx✓✓
HTML.html✓✓
CSV.csv—✓
JSON.json—✓
Markdown.md—✓

Öppen källkod & licensiering

Aspose.Cells FOSS för TypeScript är släppt under MIT-licensen. Källkoden finns tillgänglig på GitHub. Kommersiell användning är tillåten enligt MIT-licensens villkor.


Komma igång

Relaterade resurser