Исключить столбец из экспорта в кнопках Datatables

У меня есть следующая инициализация для моих данных:

$(document).ready(function() {
    $('.datatable').dataTable({
       dom: 'Bfrtip',
        buttons: [
                    {
                        extend: 'copyHtml5',
                        text: 'Copy Content to Clipboard',
                        className: 'btn',
                    },
                    {
                        extend: 'excelHtml5',
                        text: 'XLS Download',
                        className: 'btn',
                        "mColumns": [ 8 ]
                    },
                    {
                        extend: 'csvHtml5',
                        text: 'CSV Download',
                        className: 'btn',
                        "mRender": function (data, type, row) {
                             console.log(data);
                        }

                    },
        ],

    });
});

Я использую Datatable Buttons, так как tabletools устарел из таблицы данных и перепробовал много вариантов:

"mRender": function (data, type, row) {
                                 console.log(data);
                            }

Также попробовал:

"mColumns": [ 8 ]

Я пытался применять различные параметры по-разному, но в моем понимании чего-то не хватает. Пожалуйста, помогите.

Благодарю.

1 ответ

Решение

Ищу exportOptions.columns, exportOptions Позвольте вам определить столбец-селектор так же, как вы бы предназначались для определенных столбцов для фильтрации и так далее. Например, включите только третий и четвертый столбец в экспорт PDF:

$('#example').DataTable( {
  dom: 'Bfrtip',
  buttons: [
    {
      extend: 'pdf',
      exportOptions: {
        columns: [ 2, 3 ]
      }
    }
  ]
});

демо -> https://jsfiddle.net/r9Lqbhz4/

Другие примеры:

exportOptions: {
   columns: ':visible' //visible rows
}
exportOptions: {
   columns: ['.export', '.important'] //by class selector
}

И так далее, смотрите вышеупомянутую страницу выбора столбцов,

Согласно комментарию: все видимые столбцы, кроме одного, в частности:

exportOptions: {
   columns: ':visible:not(:eq(2))' 
}

Будет включать все видимые столбцы, кроме столбца № 2, третий столбец. Помните, что eq() Индекс столбца основан на видимых индексах столбца.

Другие вопросы по тегам