如何使用jQuery数据表插件将所有数据导出到CSV文件

时间:2014-09-01 15:31:27

标签: php datatables jquery-datatables

我想导出所有要导出的结果数据在CSV文件中,截至目前只有当前页面数据保存在jQuery数据表的CSV文件中

1 个答案:

答案 0 :(得分: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>

注意:我们在textarea而不是.html()上使用.val(),以避免在第一行之后的每行上使用无关的前缀逗号。