Вступ

Aspose.Cells FOSS for TypeScript надає комплексний набір функцій управління електронними таблицями, що виходять за межі базового читання/запису клітинок. Розробники можуть застосовувати детальне стилізування, налаштовувати правила перевірки даних, конфігурувати автофільтри, додавати умовне форматування, створювати діаграми, вставляти фігури та захищати робочі книги – все це з коду TypeScript без залежності від Microsoft Office.

У цьому дописі розглядаються ключові можливості керування електронними таблицями, доступні в бібліотеці, з робочими прикладами коду для кожної області функціоналу.


Ключові особливості

Перевірка даних

Додайте правила перевірки до діапазонів клітинок за допомогою класу DataValidation. Підтримувані типи перевірки включають список, діапазон чисел та користувацькі формули. Застосуйте перевірку до будь‑якого діапазону за допомогою worksheet.addDataValidation().

const workbook = new Workbook();
const worksheet = workbook.worksheets[0]!;
const validation = new DataValidation();
validation.type = "list";
validation.formula1 = '"Option1,Option2,Option3"';
worksheet.addDataValidation(validation, "B1:B10");
await workbook.save("validated.xlsx");

Автофільтр

Увімкнути автофільтр заголовків у діапазоні даних за допомогою worksheet.setAutoFilter(). Це додає елементи управління випадаючим фільтром до заголовків стовпців у вихідному файлі XLSX. Видалити фільтри за допомогою worksheet.removeAutoFilter().

const workbook = new Workbook();
const worksheet = workbook.worksheets[0]!;
worksheet.putValue("A1", "Name");
worksheet.putValue("B1", "Age");
worksheet.putValue("C1", "City");
worksheet.putValue("A2", "Alice");
worksheet.putValue("B2", "25");
worksheet.putValue("C2", "New York");
worksheet.putValue("A3", "Bob");
worksheet.putValue("B3", "30");
worksheet.putValue("C3", "London");
worksheet.setAutoFilter("A1:C4");
await workbook.save("filtered.xlsx");

Умовне форматування

Застосуйте візуальні правила до діапазонів клітинок за допомогою ConditionalFormatCollection. Бібліотека підтримує ColorScaleRule, DataBarRule та IconSetRule для підсвічування клітинок на основі їхніх значень.

const workbook = new Workbook();
const worksheet = workbook.worksheets[0]!;
for (let i = 1; i <= 10; i++) {
  worksheet.putValue(`A${i}`, i * 10);
}
await workbook.save("conditional.xlsx");

Гіперпосилання та коментарі

Додайте гіперпосилання до клітинок за допомогою cell.setHyperlink(), що підтримують URL‑адреси, електронну пошту та внутрішні посилання на листи. Додайте коментарі за допомогою worksheet.addComment(), використовуючи об’єкти Comment.

const workbook = new Workbook();
const worksheet = workbook.worksheets[0]!;
worksheet.putValue("A1", "Click here");
worksheet.getCell2("A1").setHyperlink("https://www.example.com");
worksheet.putValue("A3", "Send email");
worksheet.getCell2("A3").setHyperlink("mailto:test@example.com");
await workbook.save("hyperlinks.xlsx");

Захист робочої книги та клітинок

Захистіть усі робочі книги паролем за допомогою workbook.protect(). Заблокуйте окремі клітинки за допомогою style.setLocked(true) і керуйте видимістю формул за допомогою style.setHidden().

const workbook = new Workbook();
const worksheet = workbook.worksheets[0]!;
worksheet.putValue("A1", "Protected Cell");
const style = new Style();
style.setLocked(true);
style.setHidden(false);
worksheet.getCell2("A1").setStyle(style);
workbook.protect(true, "password");
await workbook.save("protected.xlsx");

Розмір колонок і рядків

Встановіть ширину стовпців за допомогою worksheet.setColumnWidth() і висоту рядків за допомогою worksheet.setRowHeight(). Приховайте рядки за допомогою worksheet.setRowHidden(). Ці налаштування зберігаються у збереженому файлі XLSX.

const workbook = new Workbook();
const worksheet = workbook.worksheets[0]!;
worksheet.putValue("A1", "Wide Column");
worksheet.setColumnWidth(0, 30);
worksheet.setRowHeight(0, 25);
await workbook.save("sized.xlsx");

Швидкий старт

Встановити за допомогою npm:

npm install @aspose/cells@1.0.0

Створіть стилізовану робочу книгу з перевіркою даних та автофільтром:

import { Workbook, Style, DataValidation } from "@aspose/cells";

const workbook = new Workbook();
const worksheet = workbook.worksheets[0]!;

worksheet.putValue("A1", "Status");
worksheet.putValue("B1", "Value");
const headerStyle = new Style();
headerStyle.setBold(true);
worksheet.getCell2("A1").setStyle(headerStyle);
worksheet.getCell2("B1").setStyle(headerStyle);

const validation = new DataValidation();
validation.type = "list";
validation.formula1 = '"Active,Inactive,Pending"';
worksheet.addDataValidation(validation, "A2:A20");

worksheet.setAutoFilter("A1:B20");
await workbook.save("managed.xlsx");

Open Source та ліцензування

Aspose.Cells FOSS for TypeScript випущено під ліцензією MIT. Вихідний код доступний на GitHub. Комерційне використання дозволено згідно з умовами ліцензії MIT.


Початок роботи

Пов’язані ресурси