我的网页上有一个 SlickGrid,我正在尝试添加一个按钮来调用函数 CreateXLSX()。当我在Main.jade中编辑代码时,我输入:
input(type = 'button', value = 'SaveXLSX', onclick = 'createXLSX();')
createXLSX() 函数是:
var inputData = getData();
var ws_name = "SheetJS";
var wb = Workbook(), ws = sheet_from_array_of_arrays(data);
wb.SheetNames.push(ws_name);
wb.Sheets[ws.name] = ws;
var result = XLSX.write(wb, {bookType: 'xlsx',
bookSST:false, type: 'binary'});
saveAs(new Blob([s2ab(result)],
{type: "application/octet-stream"}), "Test.xlsx);
}
当我在 FireBug 的控制台窗口中执行 createXLSX() 时,解析工作正常。它创建一个包含网格中所有数据的 .xlsx 文件。但是当我使用该按钮时,出现错误:
wb.Workbook is undefined
当我刷新页面时,打开/保存控制台会弹出,就像 .xlsx 文件已创建一样,尽管存在错误。我需要在单击按钮时使用代码来提示用户,就像我不使用控制台运行该函数时的情况一样。 有人知道为什么我会收到此错误吗?
最佳答案
我的代码在没有启用 FireBug 的情况下工作正常。由于某种原因,FireBug 认为 wb.Workbook 存在 fatal error 或其他错误。但如果没有 FireBug,一切都会顺利进行。如果有人知道为什么,那么我愿意听取反馈。
关于javascript - HTML SaveXLSX 按钮 防止将数据从 SlickGrid 保存到 XLSX 文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24636751/