Введение

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.


Начало работы

Связанные ресурсы