从jQuery Datatables中的导出中排除列

问题描述 投票:9回答:4

我正在使用jQuery datatable 1.10.11,它的导出按钮功能如here所述:

我想跳过导出到excel文件的最后一列,因为此列中有编辑/删除按钮。我的列是动态生成的,所以我不能使用以下方法:

    $('#reservation').DataTable({
    dom: 'Bfrtip',
    buttons: [
        {
            extend: 'excel',
            text: 'Export Search Results',
            className: 'btn btn-default',
            exportOptions: {
                columns: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
            }
        }
    ]
});

我知道这个问题被多次询问,但它们不适用于我,可能是版本问题。

datatables
4个回答
22
投票

尝试使用排除columns选项最后一列的CSS选择器。

$('#reservation').DataTable({
   dom: 'Bfrtip',
   buttons: [
   {
        extend: 'excel',
        text: 'Export Search Results',
        className: 'btn btn-default',
        exportOptions: {
            columns: 'th:not(:last-child)'
        }
    }]
});

9
投票

你可以添加一个类:

<th class='notexport'>yourColumn</th>

他们按类别排除:

  $('#reservation').DataTable({
   dom: 'Bfrtip',
   buttons: [
   {
        extend: 'excel',
        text: 'Export Search Results',
        className: 'btn btn-default',
        exportOptions: {
            columns: ':not(.notexport)'
        }
    }]
});

1
投票

我只是认为我会添加此内容,因为如果您尚未包含其他内容(例如可见列),则接受的答案仅适用于排除。

为了仅包括除最后一列之外的可见列,以便您可以将其与列可见性按钮结合使用,请使用

$('#reservation').DataTable({
    dom: 'Bfrtip',
    buttons: [
    {
        extend: 'excel',
        text: 'Export Search Results',
        className: 'btn btn-default',
        exportOptions: {
            columns: ':visible:not(:last-child)'
        }
    }]
});

如果你想明确添加自己的类:

    $('#reservation').DataTable({
    dom: 'Bfrtip',
    buttons: [
    {
        extend: 'excel',
        text: 'Export Search Results',
        className: 'btn btn-default',
        exportOptions: {
            columns: ':visible:not(.notexport)'
        }
    }]
});    

-1
投票

Javascript部分:

$(document).ready(function() {
$('#example').DataTable( {
    dom: 'Bfrtip',
    buttons: [
        {
            extend: 'print',
            exportOptions: {
                // columns: ':visible' or
                columns: 'th:not(:last-child)'
            }
        },
        'colvis'
    ],
    columnDefs: [ {
        targets: -1,
        visible: false
    } ]
} );

} );

并且要包含的js文件:

https://code.jquery.com/jquery-3.3.1.js
https://cdn.datatables.net/1.10.19/js/jquery.dataTables.min.js
https://cdn.datatables.net/buttons/1.5.2/js/dataTables.buttons.min.js
https://cdn.datatables.net/buttons/1.5.2/js/buttons.print.min.js
https://cdn.datatables.net/buttons/1.5.2/js/buttons.colVis.min.js

希望这对你有所帮助。谢谢。

© www.soinside.com 2019 - 2024. All rights reserved.