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-макросы-узел используется для выполнения расчетов, анализа данных и расширенной обработки. Он может применяться совместно с табличными источниками и результатами других узлов.
Рекомендации по безопасности
- запускать только проверенные макросы;
- ограничивать доступ к конфиденциальным файлам и БД;
- проверять код перед передачей другим пользователям;
- использовать учетные данные с минимально необходимыми правами.