Въведение
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");
Отворен код и лицензиране
Aspose.Cells FOSS for TypeScript е публикуван под лиценз MIT. Изходният код е достъпен в GitHub. Комерсиалната употреба е разрешена при условията на лиценз MIT.