问题描述
我正在使用 SheetJS 库将 Excel 转换为 JSON,反之亦然。 虽然将 Excel 转换为 JSON 的代码运行良好,但将 JSON 转换回 Excel 的代码存在问题。 请在下面找到代码:
var wb = XLSX.utils.book_new();
wb.Props = {
Title: "SheetJS Tutorial",
Subject: "Test",
Author: "Red Stapler",
CreatedDate: new Date(2017, 12, 19)
};
wb.SheetNames.push("Test Sheet");
var ws_data = [['hello', 'world']];
var ws = XLSX.utils.aoa_to_sheet(ws_data);
wb.Sheets["Test Sheet"] = ws;
var wbout = XLSX.write(wb, { bookType: 'xlsx', type: 'binary' });
function s2ab(s) {
var buf = new ArrayBuffer(s.length);
var view = new Uint8Array(buf);
for (var i = 0; i < s.length; i++) view[i] = s.charCodeAt(i) & 0xFF;
return buf;
}
saveAs(new Blob([s2ab(wbout)], { type: "application/octet-stream" }), 'test.xlsx');
上面的代码不断给出 XLSX.utils.book_new() 不是函数错误。 有没有人遇到过类似的问题?
谢谢
1楼
JHaazez
0
2020-04-17 15:42:27
我遇到了同样的问题。 这是因为找不到相对路径,因此无法调用 XLSX.utils.book_new。 您可以像这样使用源代码的绝对路径:
<script lang="javascript" src="https://cdnjs.cloudflare.com/ajax/libs/xlsx/0.15.2/xlsx.full.min.js"></script>
<script lang="javascript" src="https://cdnjs.cloudflare.com/ajax/libs/FileSaver.js/1.3.8/FileSaver.min.js"></script>