我正在使用我在 stackoverflow 上找到的函数。它在 Internet Explorer 和 Google Chrome 上运行良好,但在 FireFox 中使用时,下载的文件无法在 Excel 中打开。当我双击它或从 Excel 打开时,它显示一个空白工作簿。当我将这个下载的文件从 .xls 转换为 .html 时,它可以在前面提到的任何浏览器中正确打开。
关于我做错了什么以及如何解决它有什么想法吗?
提前致谢!
function fnExcelReport(){
var tab_text="<table border='2px'><tr bgcolor='#87AFC6'>";
var textRange; var j=0;
var tab = document.getElementById('GroupMembersTable'); // id of table
var sa
for(j = 0 ; j < tab.rows.length ; j++)
{
tab_text=tab_text+tab.rows[j].innerHTML+"</tr>";
//tab_text=tab_text+"</tr>";
}
tab_text= tab_text+"</table>";
tab_text= tab_text.replace(/<A[^>]*>|<\/A>/g, "");//remove if u want links in your table
tab_text= tab_text.replace(/<img[^>]*>/gi,""); // remove if u want images in your table
tab_text= tab_text.replace(/<input[^>]*>|<\/input>/gi, ""); // removes input params
var ua = window.navigator.userAgent;
var msie = ua.indexOf("MSIE ");
if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./)) // If Internet Explorer
{
txtArea1.document.open("txt/html","replace");
txtArea1.document.write(tab_text);
txtArea1.document.close();
txtArea1.focus();
sa=txtArea1.document.execCommand("SaveAs",true,"SecurityAudit.xls");
}
else { //other browser not tested on IE 11
sa = window.open('data:application/vnd.ms-excel,' + encodeURIComponent(tab_text));
}
return (sa);
}
最佳答案
由于最近的 Windows 安全更新,我遇到了类似的问题。下载的文件被标记为已阻止。您需要转到文件属性,然后单击取消阻止按钮,然后文件将在 Excel 中打开。 Excel 将不再打开在我的工作站上标记为已阻止的文件。
关于javascript - 使用 FireFox 下载时无法打开导出为 .xls 的 HTML 表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38442697/