Перейти к содержимому

editCells

await crafttechApi.editCells(fileHandler, sheetName, data);

Изменяет значение ячейки и применяет форматирование к ней.

Требует сохранения при помощи saveFile (для внешнего файла), либо applyActiveFileChanges (для активного файла).

  • fileHandler (number) — ссылка на файл; ссылку предоставляет метод openFile;

  • sheetName (string) — название листа;

  • data (object[]) — массив объектов; каждый из этих объектов содержит данные о конкретной ячейке, включая адрес, данные и стили (одна ячейка === один объект).

    • Для установки стиля передаётся объект с соответствующими полями и их значениями; в объекте должны быть только те стили, которые мы хотим задать. Например, чтобы изменить размер текста, достаточно передать в style { font: {fontSize: 13} }.

      • address (string) — передаётся адрес ячейки, которую хотим изменить;
      • value (string | number) — передаётся значение ячейки;
      • formula (object) — передается объект formula с полем formula, в котором хранится формула ячейки;
      • style (object) — конфигурация стилей ячейки.

      При этом остальные параметры стиля в ячейке вернутся к стандартным, так что при изменении или добавления параметра прописывайте все параметры которые были у ячейки!

Доступные конфигурации стилей:

СТИЛЬ ТЕКСТА (font: {})

  • bold (boolean) – полужирный шрифт;
  • italic (boolean) – шрифт курсивом;
  • underline (boolean) – нижнее подчёркивание;
  • fontSize (number) – размер шрифта (в pt);
  • fontName (string) – название шрифта;
  • colorRgb (string) – цвет текста (RGB);
  • colorIndexed (number) – цвет текста (Индексированный);
  • colorTheme (number) – цвет текста (Тема);
  • colorTint (number) – акцент белого с цветом темы от 0 до 1 (Применяется только в связке с colorTheme).

ФОН (fill: {})

  • patternType (string) - стиль паттерна, по умолчанию solid;
  • fgRgb (string) - цвет переднего фона (RGB);
  • fgIndexed (string) - цвет переднего фона (Индексированный);
  • fgTheme (string) - цвет переднего фона (Тема);
  • fgTint (string) - акцент белого с цветом темы от 0 до 1 (Применяется только в связке с fgTheme);
  • bgRgb (string) - цвет заднего фона (RGB);
  • bgIndexed (string) - цвет заднего фона (Индексированный);
  • bgTheme (string) - цвет заднего фона (Тема);
  • bgTint (string) - акцент белого с цветом темы от 0 до 1 (Применяется только в связке с bgTheme).

ГРАНИЦЫ (border)

  • border: ‘string’ – быстрая настройка, позволяющая разом установить одни и те же стили для четырёх сторон ячейки (вверх, вниз, влево, вправо).

Таким способом можно изменить только style(например, thin), для более детального изменения нужно прописывать свойства для каждой границы, как показано ниже.

СВОЙСТВА ГРАНИЦ (border: {})

Далее идет определение полей объекта границ, если вам требуется более гибкая настройка. У границ есть четыре направления(далее direction): left, right, top, bottom. Описанные свойства применяются исключительно с прописыванием стороны, к которой применяется изменение. Например, для применения ColorRgb к левой стороне границы, необходимо написать leftColorRgb.

  • {direction}Style - тип границы (например, thin);
  • {direction}ColorRgb - цвет границы (RGB);
  • {direction}ColorIndexed - цвет границы (Индексированный);
  • {direction}ColorTheme - цвет границы (Тема);
  • {direction}ColorTint - акцент белого с цветом темы от 0 до 1 (Применяется только в связке с ColorTheme).

Пример названия параметров: leftColorRgb, rightColorTint, topColorRgb, …

ВЫРАВНИВАНИЕ (alignment: {})

  • alignmentHorizontal (string) [“left”, “right”, “center”] – устанавливает горизонтальное выравнивание текста;
  • alignmentVertical (string) [“top”, “bottom”, “center”] – устанавливает вертикальное выравнивание текста;
  • alignmentWrapText (boolean) - указывает, будут ли слова в ячейке переноситься в соответствии с размером ячейки;
  • textRotation (number) - количество градусов, на которое необходимо повернуть текст.
  • true | false (boolean) — возвращает логическую истину true в случае успешного изменения ячеек.
const editedCells = await crafttechApi.editCells(fileHandler, "Лист2", [
{
address: "A1",
value: "hello",
formula: { formula: "A13+A14" },
style: {
font: { bold: true, underline: true },
border: { rightStyle: "thin", rightColorRgb: "FF000000" },
fill: { bgRgb: "FF2A8DD4", fgRgb: "FF2A8DD4" },
},
},
{
address: "B7",
value: "planet",
style: {
border: "thin",
font: { fontSize: 13, italic: true, bold: true },
},
},
{
address: "C4",
value: "dog",
},
]);
console.log("Метод editCells вернул значение:", editedCells);

В данном случае:

  • A1 – хранит значение “hello” с полужирным, подчёркнутым шрифтом и правая граница ячейки тонко окрашена, а также иметь заливку;
  • B7 – хранит значение “planet” с полужирным шрифтом и курсивом, кегль 13pt, а границы ячейки тонко окрашены;
  • C4 – хранит значение “dog” с прежними стилями (если они были);