【问题标题】:How to use export excel and print for selected columns in datatable?如何使用导出excel并打印数据表中的选定列?
【发布时间】:2016-04-09 04:46:23
【问题描述】:

我想使用导出 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>' )
            } );
        } );
    }
} );

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

【问题讨论】:

    标签: datatable


    【解决方案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 ]
    }
    

    【讨论】:

      【解决方案2】:

      最常用的一个是 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 库。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-12-09
        • 1970-01-01
        • 2011-08-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多