AxelDeskDocsНа сайт ↗

JavaScript API и макросы

AxelDesk предоставляет программный интерфейс для автоматизации табличных операций и создания пользовательских сценариев.

Назначение API

  • автоматизация повторяемых действий;
  • работа с книгами, листами, диапазонами, ячейками и формулами;
  • создание пользовательских макросов;
  • автоматизация операций табличного редактора и пользовательских сценариев;
  • перенос логики из VBA-макросов в JavaScript.

Типовой макрос

// пример 
async function Benchmark_Write100k() {
  const sheetIndex = 1; 
  const rows = 100000;
  const data = new Array(rows);

  for (let i = 0; i < rows; i++) {
    const n = i + 1;
    const qty = (n % 25) + 1;
    const price = 500 + (n % 9000);
    const amount = qty * price;

    data[i] = [
      "2025-" + String(((n % 12) + 1)).padStart(2, "0") + "-" + String(((n % 28) + 1)).padStart(2, "0"),
      "ORD-W-" + String(n).padStart(6, "0"),
      "Клиент " + ((n % 1000) + 1),
      "Регион " + ((n % 10) + 1),
      "Товар " + ((n % 500) + 1),
      "Категория " + ((n % 12) + 1),
      qty,
      price,
      amount,
      amount * 0.73
    ];
  }

  const t0 = performance.now();

  await office.setMatrixFast(
    sheetIndex,
    "A8",
    data,
    { recalc: false }
  );

  const seconds = (performance.now() - t0) / 1000;

  workbook
    .getActiveSheet()
    .getRange("E3")
    .setValue(Number(seconds.toFixed(3)));

  console.log("WRITE 100K:", seconds.toFixed(3), "sec");
}

Benchmark_Write100k();

Работа с таблицами

API может использоваться для чтения и записи данных, заполнения формул, изменения диапазонов, запуска расчетов и взаимодействия с табличным редактором.

Пользовательские сценарии

Скрипты позволяют реализовать индивидуальную бизнес-логику, которую неудобно выполнять вручную через интерфейс.

JavaScript-макросы

JavaScript-макросы-узел используется для выполнения расчетов, анализа данных и расширенной обработки. Он может применяться совместно с табличными источниками и результатами других узлов.

Рекомендации по безопасности

  • запускать только проверенные макросы;
  • ограничивать доступ к конфиденциальным файлам и БД;
  • проверять код перед передачей другим пользователям;
  • использовать учетные данные с минимально необходимыми правами.