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

Mav*_*cks 5 javascript excel vue.js sheetjs

我有一个 JSON 对象数组,如下所示:

[
  {"name":"John", "city": "Seattle"},
  {"name":"Mike", "city": "Los Angeles"},
  {"name":"Zach", "city": "New York"}
]
Run Code Online (Sandbox Code Playgroud)

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

     _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: "" });
                },
            },
Run Code Online (Sandbox Code Playgroud)

我正在使用 SheetJS 版本 0.9.11,只是想检查是否有任何方法可以将其导出为 Excel 格式?最近两天我被困在这里了。任何帮助将不胜感激。

Nul*_*ter 7

我想你必须使用XLSX.writeFile(wb, 'book.xlsx')导出Excel文件。

替换这段代码:

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

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