下载 XLSX 损坏



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

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

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

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

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

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

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

PS:表格非常复杂,列中的行和所有,所以像ALASQL,JS-XLSX这样的插件没有帮助。

问题可能出在 XLSX 类型上。这篇文章指出它是一组压缩的XLS文件。通读一读。我不能发表评论,因为我的分数还没有超过 50 分,所以我发布作为答案。

https://stackoverflow.com/a/37516332/1425168

只是尝试更改哑剧类型

将其更改为application/vnd.ms-excel它也适用于XLSX。

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

试试这段代码。

最新更新