介绍
Aspose.Cells FOSS for TypeScript 是一个免费、开源的库,允许开发者直接从 TypeScript 应用程序创建、读取、修改和导出 Excel 电子表格。该库采用 MIT 许可证,并且不依赖于 Microsoft Office 或任何本机运行时——它在 Windows、Linux 和 macOS 上的运行方式完全相同。
该库提供了围绕 Workbook、Worksheet、Cell 和 Style 类构建的简洁 API。开发者可以写入单元格值、设置公式、应用字体和填充样式、添加图表和形状、配置数据验证和自动筛选,并导出为包括 XLSX、CSV、JSON、Markdown 和 HTML 在内的多种格式。
只需一条命令即可安装,并开始构建电子表格自动化流水线、报告生成器和数据导出工具,无需任何 Office 依赖。
关键特性
读取和写入 XLSX 文件
使用 Workbook.load() 加载现有工作簿,并使用 workbook.save() 保存。单元格值、公式和样式在 XLSX 中往返传输且无损失。WorksheetCollection 类支持创建、删除和重新排序工作表。
const workbook = await Workbook.load("input.xlsx");
const worksheet = workbook.worksheets[0]!;
console.log("A1:", worksheet.getCell(0, 0)?.value);
worksheet.putValue("B1", "Updated");
await workbook.save("output.xlsx");
单元格值和公式
使用 worksheet.putValue() 写入整数、小数和字符串。使用 cell.setFormula() 设置公式——公式字符串以原样存储在 XLSX 文件中,打开时由 Excel 或 LibreOffice 进行求值。
const workbook = new Workbook();
const worksheet = workbook.worksheets[0]!;
worksheet.putValue("A1", 42);
worksheet.putValue("A2", 3.14159);
worksheet.putValue("A3", "Hello World");
const cellA4 = worksheet.getCell2("A4");
cellA4.setFormula("=SUM(A1:A2)");
await workbook.save("formulas.xlsx");
字体和填充样式
使用 Style 类应用粗体、斜体、字体大小、字体名称和字体颜色。每个单元格可以通过 cell.setStyle() 应用其独立的样式。
const workbook = new Workbook();
const worksheet = workbook.worksheets[0]!;
const style = new Style();
style.setFontName("Arial");
style.setFontSize(14);
style.setBold(true);
style.setFontColor("FF0000");
const cell = worksheet.getCell2("A1");
cell.putValue("Styled Text");
cell.setStyle(style);
await workbook.save("styled.xlsx");
多格式导出
使用 Workbook 上的专用方法将工作簿导出为 CSV、JSON、Markdown 和 HTML:toCsv()、toJson()、toMarkdown() 和 toHtml()。或者,将带有所需扩展名的文件路径传递给 workbook.save()。
const workbook = new Workbook();
const worksheet = workbook.worksheets[0]!;
worksheet.putValue("A1", "Name");
worksheet.putValue("B1", "Age");
worksheet.putValue("A2", "Alice");
worksheet.putValue("B2", 25);
await workbook.save("data.csv");
await workbook.save("data.json");
await workbook.save("data.md");
快速入门
使用 npm 安装包:
npm install @aspose/cells@1.0.0
创建工作簿,写入数据,应用样式并保存:
import { Workbook, Style } from "@aspose/cells";
const workbook = new Workbook();
const worksheet = workbook.worksheets[0]!;
worksheet.putValue("A1", "Product");
worksheet.putValue("B1", "Revenue");
worksheet.putValue("A2", "Widget");
worksheet.putValue("B2", 42000);
worksheet.putValue("A3", "Gadget");
worksheet.putValue("B3", 31500);
const headerStyle = new Style();
headerStyle.setBold(true);
headerStyle.setFontSize(12);
worksheet.getCell2("A1").setStyle(headerStyle);
worksheet.getCell2("B1").setStyle(headerStyle);
worksheet.setAutoFilter("A1:B3");
await workbook.save("report.xlsx");
支持的格式
| 格式 | 扩展名 | 读取 | 写入 |
|---|---|---|---|
| XLSX | .xlsx | ✓ | ✓ |
| CSV | .csv | — | ✓ |
| JSON | .json | — | ✓ |
| Markdown | .md | — | ✓ |
| HTML | .html | ✓ | ✓ |
开源与许可
Aspose.Cells FOSS for TypeScript 在 MIT 许可证下发布。源代码托管在 GitHub,并接受错误报告和拉取请求。根据 MIT 许可证条款,允许商业使用。