从jQuery Datatables中的导出中排除列

Uma*_*lik 12 datatables

我使用jQuery的数据表1.10.11和它的导出按钮的功能描述在这里:

我想跳过导出到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]
            }
        }
    ]
});
Run Code Online (Sandbox Code Playgroud)

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

Gyr*_*com 25

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

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


Fel*_*lho 12

你可以添加一个类:

<th class='notexport'>yourColumn</th>
Run Code Online (Sandbox Code Playgroud)

他们按类别排除:

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

  • 老实说,这是你们大多数人会寻找的答案。它更具动态性,允许您将一个类添加到您不想导出的任何列,这对于许多用例来说非常有用。当您有多个导出选项时,这也可以让您更好地控制。 (3认同)

kns*_*ely 8

我只是想我会添加这个,因为接受的答案只能在您尚未包含其他内容(例如可见列)时排除。

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

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

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

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