這裏excel文件下載小提琴在IE 11的工作,但沒有工作的谷歌瀏覽器 - 使用jQuery
https://jsfiddle.net/ym4egje0/13/
文件下載正在發生的IE(Internet Explorer)中不工作的谷歌瀏覽器。
我不能改變HTML和CSS部分。
不能使用任何外部庫
我想我必須改變部分
else {
$('#test').attr('href', data_type + ', ' + encodeURIComponent(tab_text));
$('#test').attr('download', 'Test file.xls');
}
但什麼chnage使得它同時適用於谷歌Chrome和IE
HTML
<input type="button" id="test" onClick="fnExcelReport();" value="download" />
<div id='MessageHolder'></div>
JS
function CreateHiddenTable(ListOfMessages)
{
var ColumnHead = "Column Header Text";
var TableMarkUp='<table id="myModifiedTable" class="visibilityHide"><thead><tr><td><b>'+ColumnHead+'</b></td> </tr></thead><tbody>';
console.log(ListOfMessages);
console.log(ListOfMessages.length);
for(i=0; i<ListOfMessages.length; i++){
TableMarkUp += '<tr><td>' + ListOfMessages[i] +'</td></tr>';
}
TableMarkUp += "</tbody></table>";
$('#MessageHolder').append(TableMarkUp);
}
function fnExcelReport() {
var Messages = "\n message1.\n message2.";
var ListOfMessages = Messages.split(".");
CreateHiddenTable(ListOfMessages);
var tab_text = '<html xmlns:x="urn:schemas-microsoft-com:office:excel">';
tab_text = tab_text + '<head><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet>';
tab_text = tab_text + '<x:Name>Error Messages</x:Name>';
tab_text = tab_text + '<x:WorksheetOptions><x:Panes></x:Panes></x:WorksheetOptions></x:ExcelWorksheet>';
tab_text = tab_text + '</x:ExcelWorksheets></x:ExcelWorkbook></xml></head><body>';
tab_text = tab_text + "<table border='1px'>";
tab_text = tab_text + $('#myModifiedTable').html();;
tab_text = tab_text + '</table></body></html>';
var data_type = 'data:application/vnd.ms-excel';
var ua = window.navigator.userAgent;
var msie = ua.indexOf("MSIE ");
if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./)) {
if (window.navigator.msSaveBlob) {
var blob = new Blob([tab_text], {
type: "application/csv;charset=utf-8;"
});
navigator.msSaveBlob(blob, 'Test file.xls');
}
} else {
$('#test').attr('href', data_type + ', ' + encodeURIComponent(tab_text));
$('#test').attr('download', 'Test file.xls');
}
$('
#MessageHolder').html("");
}
CSS
.visibilityHide
{
visibility:hidden;
}
應我喜歡tab_text = tab_text +'base64-encode'; – shaswatatripathy
因爲我沒有任何在html中 – shaswatatripathy
我推測'#test'是''標記的ID。 –