xlsx.writeBuffer()
尝试在我的 Angular 应用程序中使用该方法尝试将 Excel 文件下载到客户端浏览器时,我遇到了一个神秘的错误。
在完成需要对工作簿进行的所有更改后,我尝试使用以下代码下载它:
workBook.xlsx.writeBuffer().then((data) => {
let blob = new Blob([data], {type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'});
FileSaver.saveAs(blob, "SRS_Form.xlsx");
});
但由于某种原因,控制台总是会打印以下错误:
错误错误:未捕获(承诺中):TypeError:t.toISOString不是函数TypeError:t.toISOString不是u.value(vendor.js:9222)的upDateFormat [as _format](vendor.js:9222)的函数) 在 u.value (vendor.js:9222) 在 u.value (vendor.js:9222) 在 vendor.js:9222 在 f (vendor.js:9236) 在 Generator._invoke (vendor.js:9236) 在Generator.next (vendor.js:9236) 在 i (vendor.js:9222) 在 s (vendor.js:9222) 在 resolvePromise (polyfills.js:894) 在 resolvePromise (polyfills.js:846) 在 polyfills.js :956 在 ZoneDelegate.invokeTask (polyfills.js:495) 在 Object.onInvokeTask (vendor.js:45277) 在 ZoneDelegate.invokeTask (polyfills.js:494) 在 Zone.runTask (polyfills.js:263) 在 drainMicroTaskQueue (polyfills .js:665) 在 ZoneTask.invokeTask [作为调用] (polyfills.js:580) 在 invokeTask (polyfills.js:1717)
我不确定是什么导致了这个错误,但我已经将它的来源缩小到 writeBuffer() 函数,我不相信它与我试图传递给它的工作簿有任何关系,因为我可以使用 writeFile() 将它保存在 Node 中。
我已经尝试调试了几个小时,所以任何建议都将不胜感激。