@warenuk
@warenuk said in Записать в xlsx (эксель) через цикл:
Потратил 2 дня на танцы с бубнами для решения этой проблемы. Надеюсь будет полезно, что то вроде мануала для новичков
Для начала ставим npm модуль "exceljs"
Кто не знает как это сделать, мануал создателя
Дальше вставляем в функцию Node.js готовый код.
var Excel = require('exceljs');
var workbook = new Excel.Workbook();
workbook.xlsx.readFile('/*путь к файлу (для чтения) например C:/our.xlsx')
.then(function() {
var i = /* ваша переманная (в BAS) со значением цикла[[CYCLE_INDEX]]*/;
var info = /*ваша переменная с даннымы[[FIRST_LIST_ELEMENT]]*/;
var worksheet = workbook.getWorksheet(/*номер стриницы xlsx1*/);
var row = worksheet.getRow(/*номер строки, можно из переменной i*/);
row.getCell(/*номер столбца*/).value = info);
row.commit();
return workbook.xlsx.writeFile('/*Путь к файлу для записи напиример: C:/our.xlsx'*/);
})
Вот пример как должно выглядеть
var Excel = require('exceljs');
var workbook = new Excel.Workbook();
workbook.xlsx.readFile('C:/our.xlsx')
.then(function() {
var i = [[CYCLE_INDEX]];
var info = [[FIRST_LIST_ELEMENT]];
var worksheet = workbook.getWorksheet(1);
var row = worksheet.getRow(i);
row.getCell(1).value = info;
row.commit();
return workbook.xlsx.writeFile('C:/our.xlsx');
})
Готовый проект с установленным модулем: 0_1550491140538_manual.xml
ВАЖНО!!! Файл уже должен быть создан перед началом работы
Кратко о логике, модуль читает указанный вами файл.
Добавляет или изменяет нужные значение.
Записывает в файл
Если есть вопросы задавайте.
P.s. Не знал в какую категорию записать тему, админ не серчай.
Сделал также, ошибок не выдает, но Файл ексель не меняется