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

标签 javascript html blob pug slickgrid

我的网页上有一个 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/

相关文章:

java - Janusgraph 支持 Blob 数据类型吗?

php - 如何将 php 变量值传递给 javascript

javascript - Ajax 调用后数据属性长度检查

android - 如何从我的 Android 代码在 Web View 中运行 React JS 函数?

javascript - Jquery 替换嵌套标签内的文本

php - 如何使用 PhpMyAdmin 下载上传到 BLOB 字段的文件?

javascript - 无法获取同一 Angular 文件中第二个 Controller 的范围

javascript - Angularjs,如何将作用域变量传递给在 ng-repeat 内更改的 js 函数?

javascript - 我怎样才能让 JavaScript 仅在可以找到元素时才隐藏它?

node.js - 如何在 node.js 上将 blob 保存为 webm