我正在使用我在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);
}
答案 0 :(得分:2)
由于最近的Windows安全更新,我遇到了类似的问题。下载的文件被标记为已阻止。您需要转到文件属性,然后单击“取消阻止”按钮,然后在Excel中打开该文件。 Excel将不再打开我工作站上标记为已阻止的文件。
答案 1 :(得分:0)
您可以避免此安全问题&#34;在计算机或工作站上禁用来自Internet(受信任区域,Excel选项)的文件的受保护视图。
如果您下载该文件可以取消阻止,但如果您直接从excel中选择打开文件,请不要工作,直到您开始我提到的禁用过程。