Обработка данных перед импортом

0 голосов
Михаил_tlt в категории Как сделать...
Добрый день

Я получаю данные в zip архиве.

1.Задача могу ли использовать библиотеку библиотеку JSZip используя внешние модули js

2. Затем мне нужно в полученном файле в формате xls, имеющий не стандартный формат (loginom его не читает) изменить в одном столбце тип данных и убрать в заголовке таблицы все объединенные ячейки, иными словами  привести в стандартный формат используя библиотеку xlsx

Ваш инструментарий и API не имеют нужный функционал. Как можно использовать стандартные библиотеки JS в Loginom или существует иное решение?

Ответ: 1 шт.

0 голосов
Алексей Гришинев

Теоретически, данную задачу можно решить созданием bundle-файла сборщиком модулей. Созданный сборщиком один js-файл содержит все необходимые зависимости внутри себя и его просто использовать как внешний модуль в узле JavaScript. 

Для создания bundle-файла из пакета node.js, например, можно использовать сборщик browserify.  Далее приводятся примеры создания и использования внешних модулей:

Установка browserify через npm из командной строки:


npm install -g browserify


Пример 1. Сборка bundle модуля fast-xml-parser:

Создадим в файловой системе папку библиотек npm (например "C:\Lib")Далее в командной строке перейдем в созданную папку:

C:\Lib>

и выполним команды:


npm install fast-xml-parser

browserify node_modules/fast-xml-parser -s parser > fast-xml-parser.js


Флаг -s (--standalone) означает создать UMD bundle. Результатом является bundle-файл "fast-xml-parser.js" в папке "C:\Lib\".

Пример 2. Сборка bundle модуля mathjs:


npm install mathjs

browserify node_modules/mathjs -s math > mathjs.js


Далее в коде обработчика JavaScript bundle'ы можно использовать как обычные модули CommonJS:


const math = require("mathjs");

OutputTable.Set("Value", math.eval('det([-1, 2; 3, 1])'));


Дополнительно см. раздел справки Импорт внешних модулей.

Алексей Гришинев

Однако стоит учитывать, что что не все библиотеки из npm репозитория можно использовать в нашем узле JavaScript, поскольку имеются различия в реализации библиотек для Node.js и JavaScript

...