Создание таблицы в эксель

Поддержка
  • @maxim said in Создание таблицы в эксель:
    У вас переменная [[TEST]] стоит в кавычках, уберите и все будет норм.

  • @john_bradley said in Создание таблицы в эксель:

    @maxim said in Создание таблицы в эксель:
    У вас переменная [[TEST]] стоит в кавычках, уберите и все будет норм.

    Спасибо, это решило мою проблему. Странно конечно, так как я еще утром в самом начале делал и так и сяк, но ничего не получалось)
    А как записывать в готовый файл? Хочу сделать запись в готовый шаблон.

  • @maxim Самому интересно стало, предполагаю, что нужно сперва читать готовый фаил, потом в него дописывать, надо посмотреть документацию по модулю.

  • @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);
    

    Но сохраняет так :

    csv.png

    Пробую следующим кодом :

    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