我在网页上有一个SlickGrid,我正在尝试添加一个按钮来调用函数CreateXLSX()。当我编辑Main.jade的代码,我输入:HTML SaveXLSX按钮防止将数据保存到SlickGrid的XLSX文件中
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);
}
解析工作正常,当我执行createXLSX()就在控制台窗口萤火。它会创建一个包含网格中所有数据的.xlsx文件。但是当我使用的按钮,我得到的错误:
wb.Workbook is undefined
当我刷新页面,仿佛.xlsx文件已被忽略错误创建的打开/保存控制台弹出。我需要的代码,正确的时候,点击按钮,以提示用户如何在不使用控制台运行该功能时的操作。 任何人都知道我为什么得到这个错误?
2014-07-08
B.Harper
+0
您错过了一个双引号(结尾为“Test.xlsx ...”)。您还添加了FileSaver.js吗?请参阅http://sheetjs.com/demos/writexlsx.html的源代码 –
+0
@Nirk I did添加FileSaver.js,并在Test.xlsx后添加了另一个双引号,我发现当我在没有启用Firebug的情况下运行程序时,它运行正常,也许Firebug认为它是一个致命的错误或其他东西。 –