Javascript AngularJS中的DataTable导出按钮
我使用带有导出按钮的angular datatable插件 示例如下: 我的问题是,当我尝试导出时,会显示隐藏列 我试图找到只导出可见列的解决方案,我在这里找到了解决方案Javascript AngularJS中的DataTable导出按钮,javascript,jquery,angularjs,datatable,datatables,Javascript,Jquery,Angularjs,Datatable,Datatables,我使用带有导出按钮的angular datatable插件 示例如下: 我的问题是,当我尝试导出时,会显示隐藏列 我试图找到只导出可见列的解决方案,我在这里找到了解决方案 $('#list')。数据表({ “sDom”:“Tlfrtip”, “可旋转工具”:{ “sSwfPath”:“swf/copy_cvs_xls_pdf.swf”,//设置swf文件的路径。显示导出按钮 “阿布顿”:[{ “复制”, “mColumns:[0,1,2,3,4,5]//导出复制到剪贴板的设置 }, { “性倾
$('#list')。数据表({
“sDom”:“Tlfrtip”,
“可旋转工具”:{
“sSwfPath”:“swf/copy_cvs_xls_pdf.swf”,//设置swf文件的路径。显示导出按钮
“阿布顿”:[{
“复制”,
“mColumns:[0,1,2,3,4,5]//导出复制到剪贴板的设置
}, {
“性倾向”:“csv”,
“mColumns:[0,1,2,3,4,5]//导出CSV文件的设置
}, {
“性倾向”:“xls”,
“mColumns:[0,1,2,3,4,5]//导出Excel文件的设置
}, {
“性倾向”:“pdf”,
“mColumns:[0,1,2,3,4,5],//导出PDF文件的设置
“方向”:“景观”
}],
},
这是我遵循的代码,它是有效的。这是文件名更改(第二个问题)。 请让我知道,如果你有任何问题与以下
buttons: [
{
extend: "excelHtml5",
fileName: "CustomFileName" + ".xlsx",
exportOptions: {
columns: ':visible'
},
//CharSet: "utf8",
exportData: { decodeEntities: true }
},
{
extend: "csvHtml5",
fileName: "CustomFileName" + ".xlsx",
exportOptions: {
columns: ':visible'
},
exportData: {decodeEntities:true}
}
]
谢谢,我所做的唯一更改是将其添加到angular datatable选项中
$scope.dtOptions = DTOptionsBuilder.fromFnPromise(function() {
//...
})
.withDataProp('data')
.withOption('initComplete', function(){
$scope.loading = false;
})
.withButtons([
{
extend: "excelHtml5",
filename: "Data_Analysis",
title:"Data Analysis Report",
exportOptions: {
columns: ':visible'
},
//CharSet: "utf8",
exportData: { decodeEntities: true }
},
{
extend: "csvHtml5",
fileName: "Data_Analysis",
exportOptions: {
columns: ':visible'
},
exportData: {decodeEntities:true}
},
{
extend: "pdfHtml5",
fileName: "Data_Analysis",
title:"Data Analysis Report",
exportOptions: {
columns: ':visible'
},
exportData: {decodeEntities:true}
},
{
extend: 'print',
//text: 'Print current page',
autoPrint: false,
exportOptions: {
columns: ':visible'
}
}
]);
24sharon给出的答案是正确的,但它不能完全满足您在csv文件下载中包含自定义字段的要求
$scope.dtOptions = DTOptionsBuilder.newOptions().withButtons([
{extend:'csv',
title : '<What ever file name you need>',
text:'To Retry',
exportOptions:
{columns:[1,2,3,4,5,6,7,8,9,10,11,12]}
},
{extend:'csv'}
]).withPaginationType('full_numbers').withOption('info', false).withOption('bFilter', true).withOption('paging', true);
我不确定这在其他情况下是否有效。请尝试并回复,如果这在其他情况下也有效,它也可以帮助其他开发人员
Ref:我使用24sharon给出的答案找到了这个解决方案,数据表上有几个文档,选项为'mColumns'和
列:':visible'
也解决了第一个问题。但是您应该更好地格式化代码,逗号缺失。
$scope.dtOptions = DTOptionsBuilder.fromFnPromise(function() {
//...
})
.withDataProp('data')
.withOption('initComplete', function(){
$scope.loading = false;
})
.withButtons([
{
extend: "excelHtml5",
filename: "Data_Analysis",
title:"Data Analysis Report",
exportOptions: {
columns: ':visible'
},
//CharSet: "utf8",
exportData: { decodeEntities: true }
},
{
extend: "csvHtml5",
fileName: "Data_Analysis",
exportOptions: {
columns: ':visible'
},
exportData: {decodeEntities:true}
},
{
extend: "pdfHtml5",
fileName: "Data_Analysis",
title:"Data Analysis Report",
exportOptions: {
columns: ':visible'
},
exportData: {decodeEntities:true}
},
{
extend: 'print',
//text: 'Print current page',
autoPrint: false,
exportOptions: {
columns: ':visible'
}
}
]);
$scope.dtOptions = DTOptionsBuilder.newOptions().withButtons([
{extend:'csv',
title : '<What ever file name you need>',
text:'To Retry',
exportOptions:
{columns:[1,2,3,4,5,6,7,8,9,10,11,12]}
},
{extend:'csv'}
]).withPaginationType('full_numbers').withOption('info', false).withOption('bFilter', true).withOption('paging', true);
$scope.dtColumnDefs = [
DTColumnDefBuilder.newColumnDef(0),
DTColumnDefBuilder.newColumnDef(1),
DTColumnDefBuilder.newColumnDef(2),
DTColumnDefBuilder.newColumnDef(3),
DTColumnDefBuilder.newColumnDef(4),
DTColumnDefBuilder.newColumnDef(5).notVisible(),
DTColumnDefBuilder.newColumnDef(6),
DTColumnDefBuilder.newColumnDef(7).notVisible(),
DTColumnDefBuilder.newColumnDef(8),
DTColumnDefBuilder.newColumnDef(9),
DTColumnDefBuilder.newColumnDef(10),
DTColumnDefBuilder.newColumnDef(11),
DTColumnDefBuilder.newColumnDef(12),
DTColumnDefBuilder.newColumnDef(13)
];