下载 XLSX 已损坏

Ami*_*ail 5 javascript excel xlsx angularjs

我正在尝试将 HTML 表转换为 XLSX uisng AngularJS 甚至纯 JavaScript。

当我使用下面的下载正常转换为 XLS 时,一个 XLS 文件正在打开。

var blob = new Blob([template], {type: "data:application/vnd.ms-excel"});
window.navigator.msSaveOrOpenBlob(blob, "myExcel.xls"); 
Run Code Online (Sandbox Code Playgroud)

但是,我的要求需要 XLSX 中的文件,所以我在相同的代码中更改了文件的 MIME 类型和扩展名,如下所示,

var blob = new Blob([template], {type: "data:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"});
window.navigator.msSaveOrOpenBlob(blob, "myExcel.xlsx");
Run Code Online (Sandbox Code Playgroud)

但是当我打开下载的 xlsx 文件时,它已损坏,并且 MS Office 会弹出错误弹出窗口。

我做错了什么以及如何将 HTML 表转换为XLSX?甚至替代的想法也被接受。

PS:表格相当复杂,列中的行等等,所以像 ALASQL、JS-XLSX 这样的插件没有帮助。

Meh*_*shi 1

只是尝试改变 mime-type

将其更改为application/vnd.ms-excel与 XLSX 也可以正常工作。

var blob = new Blob([template], {type: "application/vnd.ms-excel"});
window.navigator.msSaveOrOpenBlob(blob, "myExcel.xlsx");
Run Code Online (Sandbox Code Playgroud)

试试这个代码。