在工作中,我們有時會遇到這樣的需求,比如:要把頁面的表格數據導出為Excel文件。在此記錄下自己用的解決方法。代碼如下:
function tableToExcel(data){
//要導出的數據,table表格字符串
var str = data;
//Worksheet名
var worksheet = 'Sheet1'
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>${worksheet}</x:Name><x:WorksheetOptions><x:DisplayGridlines/></x:WorksheetOptions></x:ExcelWorksheet></x:ExcelWorksheets></x:ExcelWorkbook></xml><![endif]--></head><body><table>${str}</table></body></html>`;
//下載模板
window.location.href = uri + base64(template)
}
//輸出base64編碼
function base64(s) { return window.btoa(unescape(encodeURIComponent(s))) }
