2016-11-05 154 views
1

我有一個HTML字符串,我想將其轉換爲Excel文件。我嘗試了以下代碼,但在Excel中看不到任何數據。使用Javascript將HTML文件轉換爲Excel文件

var tableToExcel = (function() { 
    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>{table}</table></body></html>'; 
    var base64 = function(s) { 
     return window.btoa(unescape(encodeURIComponent(s))); 
    }; 
    var format = function(s, c) { 
     return s.replace(/{(\w+)}/g, function(m, p) {return c[p]; }); 
    } 
    return function(table, name) { 
     if (!table.nodeType) 
      table = document.getElementById(table); 
     var ctx = { 
      worksheet: name || 'Worksheet', 
      table: table.innerHTML 
     }; 
     window.location.href = uri + base64(format(template, ctx)); 
    } 
})() 

如果我運行上述代碼,Excel正在下載,但我無法在Excel中看到任何數據。 有沒有其他解決方案可以將HTML文件轉換爲Excel文件?

+0

如果一切都失敗嘗試CSV也許。不理想。但它是一種替代方案 – JGFMK

回答