在表元素上使用属性时,无法将HTML表导出到Excel

时间:2012-12-18 20:08:48

标签: jquery html excel html-table

我正在尝试使用我在互联网上找到的这个简单功能将HTML表导出到Excel:

$("#btnExport").click(function(e) {
    window.open('data:application/vnd.ms-excel,' + $('#tabla_datos').html());
    e.preventDefault();
});​

它工作得很好,但是当我向表格中的任何元素添加属性时,例如rowspan或colspan,Excel无法正确导出。

这是HTML:

<div id="tabla_datos">
<table>
    <tr>
        <th>Columna 1</th>
        <th>Columna 2</th>
        <th>Columna 3</th>
    </tr>
    <tr>
        <td colspan='2'>Dato 1</td>
        <td>Dato2</td>
   </tr>
   <tr>
        <td>Dato 3</td>
        <td>dato 4</td>
        <td>Dato5</td>
   </tr>
</table>
</div>

<input type="button" id="btnExport" value=" Export Table data into Excel " />​

这是jsfiddle:http://jsfiddle.net/WAR2v/

1 个答案:

答案 0 :(得分:1)

有点晚了,但你是否尝试对URI进行编码?

此代码适用于我:

$("#btnExport").click(function(e) {
    window.open('data:application/vnd.ms-excel,' + encodeURIComponent($('#tabla_datos').html()));
    e.preventDefault();
});