在Internet Explorer中使用javascript将HTML表格、CSV、XML或RTF导出到excel



我正在尝试使用Internet Explorer使用纯JavaScript将HTML表、XML、CSV或RTF文件转换为Excel。我的Javascript或jQuery函数似乎都不能在IE中工作。我已经在其他现代浏览器上运行了相同的代码,没有出现任何问题。你能给我一个在InternetExplorer中实际工作的简单例子吗?

<!DOCTYPE html>
<head></head>
<body>
<table id="tblData">
<tr>
<th>Name</th>
<th>Email</th>
<th>Country</th>
</tr>
<tr>
<td>John Doe</td>
<td>john@gmail.com</td>
<td>USA</td>
</tr>
<tr>
<td>Michael Addison</td>
<td>michael@gmail.com</td>
<td>UK</td>
</tr>
<tr>
<td>Sam Farmer</td>
<td>sam@gmail.com</td>
<td>France</td>
</tr>
</table>
<button onclick="exportTableToExcel('tblData')">Export Table Data To Excel File</button>
<button onclick="exportTableToExcel('tblData', 'members-data')">Export Table Data To Excel File</button>
<script>
function exportTableToExcel(tableID, filename = ''){
var downloadLink;
var dataType = 'application/vnd.ms-excel';
var tableSelect = document.getElementById(tableID);
var tableHTML = tableSelect.outerHTML.replace(/ /g, '%20');

// Specify file name
filename = filename?filename+'.xls':'excel_data.xls';

// Create download link element
downloadLink = document.createElement("a");

document.body.appendChild(downloadLink);

if(navigator.msSaveOrOpenBlob){
var blob = new Blob(['ufeff', tableHTML], {
type: dataType
});
navigator.msSaveOrOpenBlob( blob, filename);
}else{
// Create a link to the file
downloadLink.href = 'data:' + dataType + ', ' + tableHTML;

// Setting the file name
downloadLink.download = filename;

//triggering the function
downloadLink.click();
}
}
</script>
</body>
</html>

假设我有一个简单的HTML表。。这个例子在IE中不起作用。不过它在Edge中起作用。我想对其他文件(XML、CSV、RTF(也这样做。不幸的是,我使用的网络平台只适用于IE。.

最新更新