使用SheetJS将JSON对象数组导出到Excel

5
我有一个JSON对象数组,就像这样:

[
  {"name":"John", "city": "Seattle"},
  {"name":"Mike", "city": "Los Angeles"},
  {"name":"Zach", "city": "New York"}
]

当我使用下面的代码时,它不起作用:

     _export: function(records,opts) {
                    var XLSX = xlsx;
                    var fileName = opts.split(".")[2]
                    var workSheet = XLSX.utils.json_to_sheet(records);
                    console.log("THis is Worksheet",workSheet);
                    var wb = XLSX.utils.book_new();
                    console.log("THis is workbook",wb)
                    XLSX.utils.book_append_sheet(wb, workSheet, fileName);
                    
                    var bin = XLSX.write(wb, {bookType:'xlsx',type: "binary"});
                    return new Blob([this._binStr2ArrBuff(bin)], { type: "" });
                },
            },

我正在使用SheetJS 0.9.11版本,想知道是否有任何方法将其导出为Excel格式?我已经卡在这里2天了。非常感谢您的帮助。
1个回答

7

我认为你需要使用XLSX.writeFile(wb, 'book.xlsx')来导出Excel文件。

替换这段代码:

var bin = XLSX.write(wb, {bookType:'xlsx',type: "binary"});
return new Blob([this._binStr2ArrBuff(bin)], { type: "" });

以下是参考:https://lovemewithoutall.github.io/it/json-to-excel/


我进行了更改,但是出现了错误XLSX.utils.json_to_sheet不是一个函数,我正在使用sheetjs 0.9.11版本。 - Mavericks
我最终通过升级到0.10.1版本解决了它,方法json_to_sheet在那里不存在。 - Mavericks

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接