CSV导出始终只导出一行

时间:2018-07-19 17:41:22

标签: javascript jquery datatables

我有一个非常简单的datatables对象。我将其绑定到对象数组,指定数据字段,然后它可以工作。问题是当我尝试实施CSV导出时。它总是只想导出表的第一行。有什么想法吗?

此刻是我的代码所在的位置。并且可以肯定的是,我已经确保包含了按钮和选择库,但这没什么区别。

<table id="tblData" style="display:none;">
    <thead>
        <tr id="trDataTableHeader">
            <th data-s-type="string">Name</th>
            <th data-s-type="string">Address</th>
            <th data-s-type="string">Phone</th>
            <th data-s-type="string">Website</th>
            <th data-s-type="string">Types</th>
        </tr>
    </thead>
</table>
...
table = $('#tblData').DataTable({
    dom: 'rtB',
    data: tableData,
    columns: [
        { "data": "name" },
        { "data": "address" },
        {
            "data": "phone_number",
            defaultContent: ""
        },
        {
            "data": "website",
            defaultContent: ""
        },
        { 
            "data": "types",
            defaultContent: ""
        },
    ],
    buttons: [{
        extend: "csv",
        text: "Export",
        exportOptions: {
            modifier: { search: "none", selected: false}
        }
    }],
    select: false,
    lengthChange: false,
    sort: false,
    paging: false
});

1 个答案:

答案 0 :(得分:0)

经过大量的挖掘,删除列数据类型规范后偶然发现了一个问题。我收到一条错误消息,指出str.replace不是一个函数。

事实证明,该页面上的另一个开发人员重写了parseIntparseFloat基函数,并导致了问题,但是DataTables太优雅了,无法告诉我。

这就是为什么除非绝对必要,否则您不覆盖基本的javascript函数的原因。