如何使用export excel并打印数据表中的选定列?

时间:2016-04-09 04:46:24

标签: datatable

我想使用export excel并打印数据表。我使用以下代码但不能同时使用所选列的两个选项。

$('#example').DataTable( {
    dom: 'Blfrtip',
                buttons: [
                        {
                    extend: 'excel','print',

                    exportOptions: {
                        columns: [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 ]
                    },

                }

                ],


                "lengthMenu": [[200, 250, 500, -1], [200, 250, 500, "All"]],
                 "bLengthChange" : true,


    initComplete: function () {
        this.api().columns().every( function () {
            var column = this;
            var select = $('<select><option value="">Select</option></select>')
                .appendTo( $(column.footer()).empty() )
                .on( 'change', function () {
                    var val = $.fn.dataTable.util.escapeRegex(
                        $(this).val()
                    );

                    column
                        .search( val ? '^'+val+'$' : '', true, false )
                        .draw();
                } );

            column.data().unique().sort().each( function ( d, j ) {
                select.append( '<option value="'+d+'">'+d+'</option>' )
            } );
        } );
    }
} );

我不知道会发生什么错误。请帮帮我。

2 个答案:

答案 0 :(得分:1)

{
 extend: 'excel'
 exportOptions: {
 columns: [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 ]
},
{
 extend: 'print'
 exportOptions: {
 columns: [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11 ]
}

答案 1 :(得分:0)

最常用的一种是columns选项,该选项定义应在导出过程中使用的列。这是作为列选择器给出的,可以很容易地告诉您是否只需要可见的列,或者只需要混合的列。

这是完成操作的简单方法:

function attachDataTable(tableId: string) {
        let companyFunctionTable = $('#' + tableId).DataTable({
            dom: 'Bfrtip',
            buttons: [
                //'csvHtml5'
                {
                    extend: 'csvHtml5',
                    exportOptions: {
                        columns: [0, 1, 2]
                    },
                    className: 'btn btn-sm btn-outline-secondary',
                    text: `<i class="fa fa-file-csv"></i> ${i18next.t('Export to CSV')}`, titleAttr: i18next.t('Export to CSV'),
                    bom: true
                },
            ],
            "initComplete": function (settings, json) {
                placeToolbarButton(tableId);
            },
            "paging": globalVar.dataTablesSettings.paging,
            "stateSave": false,
            "stateSaveParams": function (settings, data: any) {
                data.search.search = "";
            },
            "order": [],
            "lengthChange": false,
            "pageLength": globalVar.dataTablesSettings.pageLength,
            "language": {
                "url": globalVar.dataTablesSettings.languageUrl
            }
        });
    }

请链接该链接: https://datatables.net/extensions/buttons/examples/html5/columns.html

不要忘记包含显示导出功能所需的必需JS库。