@Fox Спасибо большое!
помогло:
Выполнить javascript на элементе -> self.options[ Math.floor(Math.random() * ((self.getElementsByTagName("option").length - 1) - 0 + 1)) ].selected = true
Создание таблицы в эксель
-
@usertrue said in Создание таблицы в эксель:
@maxim Что Вы имеете ввиду под созданием таблиц?
Вот пример из модуля которых вы хотите использовать, записывает значения в ячейки и сохраняет в файл.const XlsxPopulate = require('xlsx-populate'); const filePath = 'D:/Рабочая/node/out.xlsx'; await (new Promise(async function(resolve,reject){ let workbook = await XlsxPopulate.fromBlankAsync() workbook.sheet("Sheet1").cell("A1").value("This is neat!"); workbook.sheet("Sheet1").cell("B1").value("This is neat!"); workbook.toFileAsync(filePath); resolve(); }))Да, я писал как раз об этом варианте, но к сожалению у меня выдает ошибку при использовании переменных.
Собственно вот так вставляю переменнуюconst XlsxPopulate = require('xlsx-populate'); const filePath = 'C:/out.xlsx'; await (new Promise(async function(resolve,reject){ let workbook = await XlsxPopulate.fromBlankAsync() workbook.sheet("Sheet1").cell("A1").value("[[TEST]]"); workbook.sheet("Sheet1").cell("B1").value("This is neat!"); workbook.toFileAsync(filePath); resolve(); }))И выдает вот такую ошибку
Не удалось обновить: C:\Users\User\AppData\Roaming\BrowserAutomationStudio\apps\21.5.2\embedded\b8346293.QYZov3bt17UM\distr\lib\custom\5zzb3zf8g6p.js:10 workbook.sheet("Sheet1").cell("A1").value("BAS_VARS["TEST"]"); ^^^^^^^^^^^ SyntaxError: missing ) after argument list at createScript (vm.js:80:10) at Object.runInThisContext (vm.js:139:10) at Module._compile (module.js:588:28) at Object.Module._extensions..js (module.js:635:10) at Module.load (module.js:545:32) at tryModuleLoad (module.js:508:12) at Function.Module._load (module.js:500:3) at Module.require (module.js:568:17) at require (internal/module.js:11:18) at C:\Users\User\AppData\Roaming\BrowserAutomationStudio\apps\21.5.2\embedded\b8346293.QYZov3bt17UM\distr\lib\internal\custom.js:11:38 -
@maxim said in Создание таблицы в эксель:
У вас переменная [[TEST]] стоит в кавычках, уберите и все будет норм. -
@john_bradley said in Создание таблицы в эксель:
@maxim said in Создание таблицы в эксель:
У вас переменная [[TEST]] стоит в кавычках, уберите и все будет норм.Спасибо, это решило мою проблему. Странно конечно, так как я еще утром в самом начале делал и так и сяк, но ничего не получалось)
А как записывать в готовый файл? Хочу сделать запись в готовый шаблон. -
@john_bradley said in Создание таблицы в эксель:
@maxim Самому интересно стало, предполагаю, что нужно сперва читать готовый фаил, потом в него дописывать, надо посмотреть документацию по модулю.
Попытался потыкать и изменить готовый файл, но ничего не получилось и думаю пока сразу изменять стиль https://www.npmjs.com/package/xlsx-populate#styles
-
@maxim Читай те доки https://github.com/dtjohnson/xlsx-populate#parsing-data
Если надо прочитать файл, то надо указать его путь в данной функции.
let workbook = await XlsxPopulate.fromFileAsync("./Book1.xlsx") -
@usertrue said in Создание таблицы в эксель:
@maxim Читай те доки https://github.com/dtjohnson/xlsx-populate#parsing-data
Если надо прочитать файл, то надо указать его путь в данной функции.
let workbook = await XlsxPopulate.fromFileAsync("./Book1.xlsx")Если все правильно понимаю, то примерно так должно быть, но ничего не изменяется. Пробовал и другие варианты с изменением кода выше, но собственно ничего не получилось и действие выполняется бесконечно.
const XlsxPopulate = require('xlsx-populate'); // Load an existing workbook XlsxPopulate.fromFileAsync("C:/out.xlsx") .then(workbook => { // Modify the workbook. const value = workbook.sheet("Лист1").cell("A1").value([[TEST]]); // Log the value. console.log(value); }); -
@maxim А куда запись дели? И не забывайте в промис оборачивать.
const XlsxPopulate = require('xlsx-populate'); const filePath = 'out.xlsx'; await (new Promise(async function(resolve,reject){ let workbook = await XlsxPopulate.fromFileAsync(filePath); workbook.sheet(0).cell("A1").value("This is neat!"); workbook.toFileAsync(filePath); resolve(); })); -
@usertrue said in Создание таблицы в эксель:
@maxim А куда запись дели? И не забывайте в промис оборачивать.
const XlsxPopulate = require('xlsx-populate'); const filePath = 'out.xlsx'; await (new Promise(async function(resolve,reject){ let workbook = await XlsxPopulate.fromFileAsync(filePath); workbook.sheet(0).cell("A1").value("This is neat!"); workbook.toFileAsync(filePath); resolve(); }));Большое спасибо) Теперь вроде все работает и надеюсь не будет каких-то проблем в дальнейшем.
-
@UserTrue said in Создание таблицы в эксель:
@maxim А куда запись дели? И не забывайте в промис оборачивать.
const XlsxPopulate = require('xlsx-populate'); const filePath = 'out.xlsx'; await (new Promise(async function(resolve,reject){ let workbook = await XlsxPopulate.fromFileAsync(filePath); workbook.sheet(0).cell("A1").value("This is neat!"); workbook.toFileAsync(filePath); resolve(); }));Что-то застревает бесконечное выполнение....
-
@Kingstreet06 said in Создание таблицы в эксель:
@UserTrue said in Создание таблицы в эксель:
@maxim А куда запись дели? И не забывайте в промис оборачивать.
const XlsxPopulate = require('xlsx-populate'); const filePath = 'out.xlsx'; await (new Promise(async function(resolve,reject){ let workbook = await XlsxPopulate.fromFileAsync(filePath); workbook.sheet(0).cell("A1").value("This is neat!"); workbook.toFileAsync(filePath); resolve(); }));Что-то застревает бесконечное выполнение....
Что-то перепробовал все способы в теме. Через nodejs вообще не хочет работать. хотя и выполняется, без ошибок
-
@Kingstreet06 said in Создание таблицы в эксель:
@Kingstreet06 said in Создание таблицы в эксель:
@UserTrue said in Создание таблицы в эксель:
@maxim А куда запись дели? И не забывайте в промис оборачивать.
const XlsxPopulate = require('xlsx-populate'); const filePath = 'out.xlsx'; await (new Promise(async function(resolve,reject){ let workbook = await XlsxPopulate.fromFileAsync(filePath); workbook.sheet(0).cell("A1").value("This is neat!"); workbook.toFileAsync(filePath); resolve(); }));Что-то застревает бесконечное выполнение....
Что-то перепробовал все способы в теме. Через nodejs вообще не хочет работать. хотя и выполняется, без ошибок
Установил библиотеку
fast-csvи нашел такой код:
var fs = require('fs'); var csv = require('fast-csv'); var ws = fs.createWriteStream('C:/Users/Admin/Dekstop/Test1.csv'); csv. write([ ["a1","b1"], ["a2","b2"] ], {headers: true} ) .pipe(ws);Но сохраняет так :

Пробую следующим кодом :
var fs = require('fs'); var csv = require('fast-csv'); var ws = fs.createWriteStream('C:/Users/Admin/Dekstop/Test1.csv'); csv. write([ {a:"a1",b:"b1"}, {a: "b2",b: "c2"}, {a: "c2",b: "d2"} ], { headers: true transform: function(row){ return { A: row.A, B: row.B }; } }) .pipe(ws);Но что-то ошибка в линии transform:
Не удалось Обновить: C:\Users\Admin\AppData\Roaming\BrowserAutomationStudio\apps\21.9.2\embedded\54ecb033.N3VtbacAheeI\distr\lib\custom\nims12q0gb9.js:9 function row(); ^ SyntaxError: Unexpected token ; at createScript (vm.js:80:10) at Object.runInThisContext (vm.js:139:10) at Module._compile (module.js:588:28) at Object.Module._extensions..js (module.js:635:10) at Module.load (module.js:545:32) at tryModuleLoad (module.js:508:12) at Function.Module._load (module.js:500:3) at Module.require (module.js:568:17) at require (internal/module.js:11:18) at C:\Users\Admin\AppData\Roaming\BrowserAutomationStudio\apps\21.9.2\embedded\54ecb033.N3VtbacAheeI\distr\lib\internal\custom.js:11:38