最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - writeFile returns empty file in SheetJs - Stack Overflow

programmeradmin1浏览0评论

I'm confused writing a .xlsx file using writeFile method because I'm getting an empty file.

The function receives a valid worksheet object(I inspected), the worksheet name display well but no information is in the file. Below is my code, thank you in advance.

function saveToExcel(event, worksheet) {
    const workbook = XLSX.utils.book_new();
    XLSX.utils.book_append_sheet(workbook, worksheet, "Lista de Evaporadores");
    event.sender.send('verga', workbook);
    XLSX.writeFile(workbook, `books/lista-evaporadores.xlsx`, {type: 'file'});
    open('books/lista-evaporadores.xlsx');
}

I'm confused writing a .xlsx file using writeFile method because I'm getting an empty file.

The function receives a valid worksheet object(I inspected), the worksheet name display well but no information is in the file. Below is my code, thank you in advance.

function saveToExcel(event, worksheet) {
    const workbook = XLSX.utils.book_new();
    XLSX.utils.book_append_sheet(workbook, worksheet, "Lista de Evaporadores");
    event.sender.send('verga', workbook);
    XLSX.writeFile(workbook, `books/lista-evaporadores.xlsx`, {type: 'file'});
    open('books/lista-evaporadores.xlsx');
}
Share Improve this question edited Jul 3, 2022 at 17:37 KARTHIKEYAN.A 20.2k10 gold badges137 silver badges150 bronze badges asked Dec 30, 2017 at 18:02 Cesar Jr RodriguezCesar Jr Rodriguez 1,8214 gold badges23 silver badges36 bronze badges 1
  • did you find a solution? I'm experiencing the same problem! – sonja Commented Oct 12, 2018 at 9:48
Add a ment  | 

2 Answers 2

Reset to default 6

It's described pretty well here : https://github./SheetJS/js-xlsx/issues/817. This is the example of creating a worksheet and populating it with data, then adding that worksheet in a new workbook

var workbook = xlsx.utils.book_new();
var data = [
    {name:"John", city: "Seattle"},
    {name:"Mike", city: "Los Angeles"},
    {name:"Zach", city: "New York"}
];
var ws = xlsx.utils.json_to_sheet(data);
xlsx.utils.book_append_sheet(workbook, ws, "Results");
xlsx.writeFile(workbook, 'out.xlsx', {type: 'file'});

When ever your data Object is empty you will receive the error mentioned above

Error:

var workbook = xlsx.utils.book_new();
var data = [];
var ws = xlsx.utils.json_to_sheet(data); // data Array is empty
xlsx.utils.book_append_sheet(workbook, ws, "Results");
xlsx.writeFile(workbook, 'out.xlsx', {type: 'file'});

Solution:

var workbook = xlsx.utils.book_new();
var data = [
    {name:"John", city: "Seattle"},
    {name:"Mike", city: "Los Angeles"},
    {name:"Zach", city: "New York"}
];
var ws = xlsx.utils.json_to_sheet(data); // data Array not empty 
xlsx.utils.book_append_sheet(workbook, ws, "Results");
xlsx.writeFile(workbook, 'out.xlsx', {type: 'file'});
发布评论

评论列表(0)

  1. 暂无评论