2016-11-05 3 views
1

Excel 파일로 변환하려는 HTML 문자열이 있습니다. 다음 코드를 시도했지만 Excel에서 데이터를 볼 수 없습니다.자바 스크립트를 사용하여 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

답변

0

아마도이 트릭을 할 것입니까?
jQuery - table2excel
CDNJS에서 찾은 TableExport도 있으므로 스크립트 태그에서 원격 JS 라이브러리를 참조 할 수 있습니다.
여기에 GitHub입니다. 설치 안내서를 따르십시오 ...

관련 문제