2014-09-01 73 views

回答

1

我不确定你想如何“导出”数据,但是你可以用jQuery中的each()方便地创建csv内容。鉴于你的问题表明你正在使用jQuery数据表,你已经有了jQuery导入。

下面是一个简单的表格和将内容解析为csv格式的代码。有一个textarea,其值我们设置最终的“导出”数据。

<table id="tbl"> 
    <tr> 
     <th>Col1</th><th>Col2</th><th>Col3</th> 
    </tr> 
    <tr> 
     <td>eggs</td><td>bacon</td><td>milk</td> 
    </tr> 
    <tr> 
     <td>free</td><td>tasty</td><td>food</td> 
    </tr> 
</table> 

<textarea id="output"></textarea> 

<script> 

$("#output").html(getTableData($("#tbl"))); 

function getTableData(table) { 
    var data = []; 
    table.find('tr').each(function (rowIndex, r) { 
     var cols = []; 
     $(this).find('th,td').each(function (colIndex, c) { 
      cols.push(c.textContent); 
     }); 
     data.push(cols + "\n"); 
    }); 
    return data; 
} 
</script> 

注:我们使用.html()上textarea的,而不是.val(),以避免对除第一行无关,前置逗号。

相关问题