Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript HTML SaveXLSX按钮可防止将数据从SlickGrid保存到XLSX文件中_Javascript_Html_Blob_Pug_Slickgrid - Fatal编程技术网

Javascript HTML SaveXLSX按钮可防止将数据从SlickGrid保存到XLSX文件中

Javascript HTML SaveXLSX按钮可防止将数据从SlickGrid保存到XLSX文件中,javascript,html,blob,pug,slickgrid,Javascript,Html,Blob,Pug,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_o

我在网页上有一个光滑的网格,我正在尝试添加一个按钮来调用函数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存在致命错误或其他问题。但如果没有FireBug,一切都会顺利进行。如果有人知道原因,我愿意听取反馈

您缺少双引号(以“Test.xlsx…”结尾)。您是否也添加了FileSaver.js?请参阅@Nirk的源代码。我添加了FileSaver.js,并在Test.xlsx之后添加了另一个双引号。我想,当我在未启用Firebug的情况下运行程序时,它会正确运行。可能Firebug认为这是一个致命错误或其他错误。不过,感谢您的反馈!