Как прописать путь в xlsx populate?



  • Так сохраняет в папку BAS:

    const XlsxPopulate = require('xlsx-populate');
     
    // Load a new blank workbook
    XlsxPopulate.fromBlankAsync()
        .then(workbook => {
            // Modify the workbook.
            workbook.sheet("Sheet1").cell("A1").value("This is neat!");
            
            // Write to file.
            return workbook.toFileAsync("./out.xlsx");
        });
    

    А так нет:

    const XlsxPopulate = require('xlsx-populate');
     
    // Load a new blank workbook
    XlsxPopulate.fromBlankAsync()
        .then(workbook => {
            // Modify the workbook.
            workbook.sheet("Sheet1").cell("A1").value("This is neat!");
            
            // Write to file.
            return workbook.toFileAsync("c:/out.xlsx");
        });
    

    Никаких ошибок не выдает. Windows 10, BAS последний. Что делаю не так? Может где-то надо разрешение на доступ к папке выставить?
    Скрипт



  • @mix said in Как прописать путь в xlsx populate?:

    Так сохраняет в папку BAS:

    const XlsxPopulate = require('xlsx-populate');
     
    // Load a new blank workbook
    XlsxPopulate.fromBlankAsync()
        .then(workbook => {
            // Modify the workbook.
            workbook.sheet("Sheet1").cell("A1").value("This is neat!");
            
            // Write to file.
            return workbook.toFileAsync("./out.xlsx");
        });
    

    А так нет:

    const XlsxPopulate = require('xlsx-populate');
     
    // Load a new blank workbook
    XlsxPopulate.fromBlankAsync()
        .then(workbook => {
            // Modify the workbook.
            workbook.sheet("Sheet1").cell("A1").value("This is neat!");
            
            // Write to file.
            return workbook.toFileAsync("c:/out.xlsx");
        });
    

    Никаких ошибок не выдает. Windows 10, BAS последний. Что делаю не так? Может где-то надо разрешение на доступ к папке выставить?
    Скрипт

    Попробуйте сохранять не в корень диска, а в любую папку в нём

    C:/test/out.xlsx
    


  • @fox В том-то и дело, что я хотел на общий рабочий стол сохранить. А он не дает по тем же причинам, что и не дает в корень диска сохранить. Можно ли где-то разрешение на доступ указать?



  • @mix попробуйте вот так, предварительно создав папку,
    у меня работает

    return workbook.toFileAsync("C://BAS//out.xlsx");

    правда он полностью перезаписывает страницу, а хотелось бы чтобы просто дописывал в определенную клетку.
    Спасибо, что подсказали эту библиотеку, а то я пробовал записывать библиотекой, которую советовал разработчик в видео, читать из файла получалось, а записывать никак.



  • @mix said in Как прописать путь в xlsx populate?:

    @fox В том-то и дело, что я хотел на общий рабочий стол сохранить. А он не дает по тем же причинам, что и не дает в корень диска сохранить. Можно ли где-то разрешение на доступ указать?

    Как вариант - сохранить файл в папку с проектом (относительный путь) и перенести файл действиями BAS.


Log in to reply