我在Ipad + Safari中保存excel文件时遇到问题。请注意,我唯一的问题是使用Ipad / Iphone IOS + Safari。
图书馆我用来实现'另存为'功能是FileSaver.js,但确实有bug for Safari。
到目前为止我尝试过的解决方案:
var blob = new Blob([jx_s2ab(wbout)], {type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8'});
var a = window.document.createElement("a");
a.href = window.URL.createObjectURL(blob);
a.download = "textexcel.xlsx";
a.target = "_blank"
document.body.appendChild(a);
a.click();
document.body.removeChild(a);

var blob = new Blob([jx_s2ab(wbout)], {type: 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8'});
var reader = new FileReader();
reader.onload = function(e){
window.location.href = reader.result;
}
reader.readAsDataURL(blob);

在上述所有解决方案中,目前为止最好的解决方案是:File Reader API。它实际上正在工作,我能够使用正确的数据打开文件。但唯一的问题是文件名,没有在新标签页中打开的选项。在Ipad + Safari中,文件名显示为' unknown.xlsx',这不是一个良好的用户体验。
如果有任何修复可用于文件名问题或任何其他库可用,请分享。