2016-08-06 8 views
0

rainabba/jquery-table2excelを使用してhtml表をExcelにエクスポートしています。ボタンをクリックするとファイルがダウンロードされますが、ファイルまたは形式が破損していると報告されます。このcode..forが発生ファイル形式またはファイル拡張子が無効です

<html> 
<head> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> 
    <script type="text/javascript" src="jquery-table2excel-master/dist/jquery.table2excel.min.js"></script> 

    <script type="text/javascript"> 
$(document).ready(function(e){ 
    $("#myButton").click(function (e){ 
     $(".mytable").table2excel({ 
      name:"new File", 
      filename:"work", 
      //fileext:".xlsx" 

     }); 

    }); 

    }); 


</script> 
</head> 
<body> 
    <button id="myButton">Click To Download</button> 
    <table class="mytable" border="1"> 
     <tr> 
      <th>new1</th> 
      <th>new2</th> 
      <th>new3</th> 
      <th>new4</th> 

     </tr> 
     <tr> 
      <td>Data 1</td> 
      <td>Data 2</td> 
      <td>Data 3</td> 
      <td>Data 4</td> 
     </tr> 
    </table> 
</body> 
</html> 
+0

http://stackoverflow.com/questions/38377796/export-html-table-to-excel-doesnt-open- .. Excelファイルin-office-2010/38379929#38379929 –

+0

まだ同じ問題が完了しました@AxelRichter – art

答えて

2
<button class="btn btn-default" onclick="tableToExcel(\'#divId\', \'Excel Report\')">Generate Excel</Button> 
<div id="divId"> 
    <table class="mytable" border="1"> 
     <tr> 
      <th>new1</th> 
      <th>new2</th> 
      <th>new3</th> 
      <th>new4</th> 

     </tr> 
     <tr> 
      <td>Data 1</td> 
      <td>Data 2</td> 
      <td>Data 3</td> 
      <td>Data 4</td> 
     </tr> 
    </table> 
</div> 

    var tableToExcel = (function() { 
       var uri = 'data:application/vnd.ms-excel;base64,' 
        , 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>' 
        , base64 = function (s) { return window.btoa(unescape(encodeURIComponent(s))) } 
        , 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)) 
       } 
      })() 

使用は

+0

無効な文字の表示に失敗しました – SunUser

+0

@SunUserあなたのコードの詳細を教えてください。 – Goku

関連する問題