我使用 Datatables 的 TableTools 插件对保存 CSV 进行了一些测试。
我注意到它可以保存一切。它不关心您是否过滤了行或隐藏了某些列。
有没有办法只保存可见列中的数据?
我使用 Datatables 的 TableTools 插件对保存 CSV 进行了一些测试。
我注意到它可以保存一切。它不关心您是否过滤了行或隐藏了某些列。
有没有办法只保存可见列中的数据?
您想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"
}
]
}
} );
} );
这定义了两个将导出到 CSV 文件的按钮。第一个标签为Special columns
,只会导出 columns 0,1,4
。第二个按钮,标记Visible columns
将导出所有可见的列。
该mColumns
参数在文档中是这样描述的:
该参数可以是值为“all”、“visible”、“hidden”或“sortable”的字符串,也可以是具有要导出的列索引的整数数组。
此功能在 1.10 版本中并不新。如果您尚未升级,它也可以在旧版本中使用。
只是为了完成......在最后一个版本的 DataTables 上,它略有不同(这里是文档):
$(document).ready(function() {
$('#example').DataTable( {
dom: 'Bfrtip',
buttons: [
{
extend: 'print',
exportOptions: {
columns: ':visible'
}
},
'colvis'
],
columnDefs: [ {
targets: -1,
visible: false
} ]
} );
} );
只是为了添加更多选项,我的场景需要这些选项,这可能对某人有用。
将多个参数传递给列,并使用not()排除具有类的列:
extend: 'csv',
exportOptions: {
columns: ':not(.noShow):visible'
}