数据表TableTools - 保存CSV时是否只能包含可见列?

arv*_*sim 5 datatables tabletools

我在保存CSV时使用Datatables的TableTools插件进行了一些测试.

我注意到它可以节省一切.它不关心您是否过滤了行,也不关心是否隐藏了某些列.

有没有办法只保存可见列中的数据?

And*_*ndy 14

您想mColumns在定义按钮时使用.

文档中的一个示例:

$(document).ready( function () {
    $('#example').dataTable( {
        "sDom": 'T<"clear">lfrtip',
        "oTableTools": {
            "aButtons": [
                {
                    "sExtends": "csv",
                    "sButtonText": "Special columns",
                    "mColumns": [ 0, 1, 4 ]
                },
                {
                    "sExtends": "csv",
                    "sButtonText": "Visible columns",
                    "mColumns": "visible"
                }
            ]
        }
    } );
} );
Run Code Online (Sandbox Code Playgroud)

这定义了两个将导出为CSV文件的按钮.第一个标记为Special columns仅导出列0,1,4.标记的第二个按钮Visible columns将导出所有可见的列.

mColumns参数在文档中描述如下:

参数可以是值为"all","visible","hidden"或"sortable"的字符串 - 或者是要导出的列索引的整数数组.

此功能在1.10版本中不是新功能.如果您尚未升级,它也可以在旧版本中使用.


LuT*_*ieR 5

只是为了完成...在最后一个版本的DataTables上,它略有不同(这里是文档):

$(document).ready(function() {
  $('#example').DataTable( {
      dom: 'Bfrtip',
      buttons: [
          {
              extend: 'print',
              exportOptions: {
                  columns: ':visible'
              }
          },
          'colvis'
      ],
      columnDefs: [ {
          targets: -1,
          visible: false
      } ]
  } );
} );
Run Code Online (Sandbox Code Playgroud)