2015-06-22 90 views
0

我使用jQuery將HTML數據導出到Excel中。數據正在導出,但不會以正確的格式導出。在打開Excel文件時,它說:如何將HTML數據以正確的格式導出到Excel中?

「download.xls」的文件格式和後綴名不匹配。該文件可能已損壞或不安全。除非你信任它的來源,否則不要打開它。你還想打開嗎?

而當我打開它時,數據存在,但嚴重合並。我該怎麼辦?

echo "<div id=dvData3>"; 
//echo "<table border=5 cellpadding=5 cellspacing=0 style=border-collapse: collapse >"; 

echo "<table>"; 
echo "<tr>"; 
echo "<td width=14% align=center>Name</td>"; 
echo "<td width=14% align=center>Grand Total</td>"; 
echo "<td width=14% align=center>Expanse Type</td>"; 
echo "</tr>"; 

while($allrows=mysql_fetch_array($newresult1)) 
{ 

    $name=$allrows["empid"]; 
    $gamount=$allrows["gtotal"]; 
    $exptype=$allrows["expanseType"]; 

    echo "<tr>"; 
    echo "<td width=14% align=center>$name</td>"; 
    echo "<td width=14% align=center>$gamount</td>"; 
    echo "<td width=14% align=center>$exptype</td>"; 
    echo "</tr>"; 
} 

echo "<tr>"; 
echo "<td width=14% align=center>Total Amount</td>"; 
echo "<td width=14% align=center>$Tamount</td>"; 

echo "</table>"; 
echo "</div>"; 

echo "<input type='button' id=\"btnExport3\" value=\" Export Table data into Excel \" />"; 

} 

這是我的jQuery函數:

<script> 
    $(document).ready(function(){ 
    $("#btnExport3").click(function (e) { 

     window.open('data:application/vnd.ms-excel,' + $('#dvData3').html()); 
     //window.open('data:application/csv,charset=utf-8,' + $('#dvData').html()); 
     e.preventDefault(); 

    }); 
    }); 
</script> 
+0

http://www.jwgoerlich.us/blogengine/post/2009/08/11/Excel-Extension-Hardening-and-Web-Applications.aspx –

+0

.. 。和Excel中的表可能看起來不好,因爲它有不平衡的列數:最後一行只有2個單元格,而不是3.最後一行缺少結束 –

+0

我已經添加 ..沒有任何改進。也錯誤類型是101786 – babar

回答

0

試試這個代碼:

$(document).ready(function() { 
$("#btnExport3").click(function(e) { 

    var a = document.createElement('a'); 
    //getting data from our div that contains the HTML table 
    var data_type = 'data:application/vnd.ms-excel'; 
    var table_div = document.getElementById('dvData3'); 
    var table_html = table_div.outerHTML.replace(/ /g, '%20'); 
    a.href = data_type + ', ' + table_html; 
    //setting the file name 
    a.download = 'download.xlsx'; 
    //triggering the function 
    a.click(); 
    //just in case, prevent default behaviour 
    e.preventDefault(); 
}); 
}); 
+0

同樣的錯誤。它甚至不允許我打開excel文件 – babar

+0

http://i62.tinypic.com/2u5w0sj.png 使用該代碼並獲得了.xls文件,與xlsx相同 – WisdmLabs

-2

更改.xls的原來的.xlsx,如果你已經安裝了最新的Office。

+0

如何改變? – babar