Jquery - DataTables [tableTools]: export only visible rows

前端 未结 4 1651
陌清茗
陌清茗 2021-02-09 02:18

I just started out using jQuery DataTables.

using the tableTools of DataTables, is it possible to only export visible rows instead of all the rows? If for example the pa

相关标签:
4条回答
  • 2021-02-09 02:37

    You may set the selection of the page to current page for specific export.

    Ref: http://datatables.net/docs/DataTables/1.9.4/#$

    { "sExtends": "xls", "mColumns": "visible", "oSelectorOpts": { page: "current" } }
    
    0 讨论(0)
  • 2021-02-09 02:44

    You can achieve that behavior by selecting all visible rows before saving, then deselecting them after saving completed.

    $(document).ready(function() {
        $('#example').DataTable( {
            dom: 'T<"clear">lfrtip',
            "oTableTools": {
                "sRowSelect": "multi",
                "aButtons": [
                    {
                        "sExtends": "csv",
                        "bSelectedOnly": true,
                        "fnComplete": function ( nButton, oConfig, oFlash, sFlash ) {
                            var oTT = TableTools.fnGetInstance( 'example' );
                            var nRow = $('#example tbody tr');
                            oTT.fnDeselect(nRow);
                        }
                    }
                ]
            }
        } );
    
        $('a.DTTT_button_csv').mousedown(function(){
            var oTT = TableTools.fnGetInstance( 'example' );
            var nRow = $('#example tbody tr');
            oTT.fnSelect(nRow);
        });
    } );
    
    0 讨论(0)
  • 2021-02-09 02:46

    I used this solution and it worked. Try this:

    <script>
    $(document).ready(function() {
        var table = $('#example').DataTable( {
            "pagingType": "full_numbers",
            "iDisplayLength": 10,
            "dom": 'T<"clear">lfrtip',
            "oTableTools": {
              "aButtons": [
                {'sExtends':'copy',
                  "oSelectorOpts": { filter: 'applied', order: 'current' },
                },
                {'sExtends':'xls',
                  "oSelectorOpts": { filter: 'applied', order: 'current' },
                },
                {'sExtends':'print',
                  "oSelectorOpts": { filter: 'applied', order: 'current' },
                }
              ]
            },
        });
    });
    </script>
    
    0 讨论(0)
  • 2021-02-09 03:00

    If you are using flash to export, need to mention swf path to work.

    $("#example").dataTable( {
        "sDom": 'T<"clear">lfrtip',
        "oTableTools": {
            "sSwfPath": "Path to your copy_csv_xls_pdf.swf files comes with TableTools",
            "aButtons": [
                {
                    "sExtends": "copy",
                    "sButtonText": "Copy to clipboard",
                    "oSelectorOpts": { filter: "applied", order: "current" }
                },
                {
                    "sExtends": "csv",
                    "sButtonText": "Export to CSV",
                    "oSelectorOpts": { filter: "applied", order: "current" }
                },
                {
                    "sExtends": "print",
                    "sButtonText": "Print",
                    "oSelectorOpts": { filter: "applied", order: "current" }
                }
            ]
        }
    } );
    

    There are few additional options also available to aButtons object.

    "mColumns": [1, 2,...] - List of columns to include in export result
    
    "sTitle": "filename" - desire filename for export file
    

    ------------------Update---------------------------

    In the newer version of datatable - datatableTools is retired

    Please use buttons extension

    buttons: [
            {
                extend: 'copyHtml5',
                exportOptions: {
                    columns: [ 0, ':visible' ]
                }
            },
            {
                extend: 'excelHtml5',
                exportOptions: {
                    columns: ':visible'
                }
            },
            {
                extend: 'pdfHtml5',
                exportOptions: {
                    columns: [ 0, 1, 2, 5 ]
                }
            },
        ]
    
    0 讨论(0)
提交回复
热议问题