下载XLSX已损坏

时间:2017-06-15 05:45:46

标签: javascript angularjs excel 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办公室正在向错误弹出错误。

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

PS:这个表非常复杂,列中的行和所有内容,所以像ALASQL,JS-XLSX这样的插件没有用。

2 个答案:

答案 0 :(得分:2)

尝试更改mime-type

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

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

试试这段代码。

答案 1 :(得分:2)

问题可能在于XLSX类型。这篇文章指出它是一组压缩的XLS文件。请仔细阅读。我无法评论,因为我的分数还没有超过50,所以我发帖作为答案。

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