核心代码:
function handleExport(HTML,title){
var uri = 'data:application/vnd.ms-excel;base64,';
var template = '<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel"' +
'xmlns="http://www.w3.org/TR/REC-html40"><head><!--[if gte mso 9]><xml><x:ExcelWorkbook><x:ExcelWorksheets><x:ExcelWorksheet>'
+ '<x:Name>Sheet1</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets>'
+ '</x:ExcelWorkbook></xml><![endif]-->' +
'</head><body>' + HTML + '</body></html>';
var a = document.createElement("a");
a.href = uri + window.btoa(unescape(encodeURIComponent(template)));
a.download = title+".xls";
a.target = "";
document.body.appendChild(a).click();
document.body.removeChild(a);
}
代码解析:HTML为表格部分的html代码,title为要导出表格的名称
HTML实例:(基本的表格结构要有)
<table>
<thead><tr><th>表头名称</th></tr></thead>
<tbody><tr><td>表格内容</td></tr></tbody>
</table>
细节解析:
①导出表格要调整样式,直接在HTML中增加css代码就可以了
②若要导出数值以文本形式呈现,不展示为科学计数法的形式,可以在HTML中使用
<table style="vnd.ms-excel.numberformat:@"></table>
③导出为excel形式会有最大列数限制,这个受excel版本的影响