Введение
Aspose.Cells FOSS for TypeScript — это бесплатная библиотека с открытым исходным кодом, позволяющая разработчикам создавать, читать, изменять и экспортировать электронные таблицы Excel непосредственно из приложений TypeScript. Библиотека лицензирована по MIT и не имеет зависимости от Microsoft Office или любого нативного runtime – она работает одинаково на Windows, Linux и macOS.
Библиотека предоставляет чистый API, построенный вокруг классов Workbook, Worksheet, Cell и Style. Разработчики могут записывать значения ячеек, задавать формулы, применять стили шрифтов и заливок, добавлять диаграммы и фигуры, настраивать проверку данных и автофильтры, а также экспортировать в различные форматы, включая 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");
Экспорт в нескольких форматах
Экспортируйте рабочие книги в CSV, JSON, Markdown и HTML, используя специальные методы в Workbook: 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.