gpt4 book ai didi

javascript - Edge 浏览器中无法导出到 Excel

转载 作者:行者123 更新时间:2023-11-30 11:24:56 25 4
gpt4 key购买 nike

这是 JavaScript 函数

function fnExcelReport()
{
var tab_text="<table border='2px'><tr bgcolor='#87AFC6'>";
var textRange; var j=0;
tab = document.getElementById('tableID'); // id of table


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>";

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,"filename.xls");
}
else //other browser not tested on IE 11
sa = window.open('data:application/vnd.ms-excel,' + encodeURIComponent(tab_text));


return (sa);
}

它将在单击按钮时调用

<button id="btnExport" onclick="fnExcelReport();"> EXPORT </button>

此代码适用于 Chrome、Firefox 和 IE。这在 Edge 中不起作用。请帮忙。

最佳答案

你没有在 if 中捕获 Edge

Edge 在 window.navigator.userAgent 中不会有 MSIE;它会有这样的东西

Mozilla/5.0 (Windows NT 10.0; <64-bit tags>) AppleWebKit/<WebKit Rev> (KHTML, like Gecko) Chrome/<Chrome Rev> Safari/<WebKit Rev> Edge/<EdgeHTML Rev>.<Windows Build>

因此,您应该检查 Edge,而不是检查 MSIE

请参阅此 MS 链接 User-agent string changes

也看看here

引用这个 fiddle https://jsfiddle.net/p8o42kdh/

有几点。1)我使用 match 而不是 indexOf

ua.match(/Edge/)

2)为了创建文件内容,我使用了 blob

var blob = new Blob(["tab_text"], {type: 'data:application/vnd.ms-excel'});
window.navigator.msSaveBlob(blob, 'msSaveBlob_testFile.xls');

关于javascript - Edge 浏览器中无法导出到 Excel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48375996/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com