我正在使用jquery datatable插件显示数据。我添加了将文件另存为excel,csv和pdf的选项。
虽然它允许我将表内容另存为文件。但是在excel和csv两种情况下,它都将文件另存为.csv。
我想拥有一个excel按钮,以允许我将文件另存为.xls格式。如何在此插件中实现此目的。
以下是我正在使用的代码。
$('#datatable_tabletools').dataTable({
"sDom" : "<'dt-top-row'Tlf>r<'dt-wrapper't><'dt-row dt-bottom-row'<'row'<'col-sm-6'i><'col-sm-6 text-right'p>>",
"aaSorting": [],
"oTableTools" : {
"aButtons" : ["copy", "print", {
"sExtends" : "collection",
"sButtonText" : 'Save <span class="caret" />',
"aButtons" : ["csv", "xls", "pdf"]
}],
"sSwfPath" : "<?=$baseUrl?>static/js/plugin/datatables/media/swf/copy_csv_xls_pdf.swf"
},
"fnInitComplete" : function(oSettings, json) {
$(this).closest('#dt_table_tools_wrapper').find('.DTTT.btn-group').addClass('table_tools_group').children('a.btn').each(function() {
$(this).addClass('btn-sm btn-default');
});
}
});
最佳答案
这是可能的。您必须使用"sFileName"
属性。
为了实现您的目标,请为Excel导出指定"sFileName": "*.xls"
。
这是您想要的适应代码:
$('#datatable_tabletools').dataTable({
"sDom" : "<'dt-top-row'Tlf>r<'dt-wrapper't><'dt-row dt-bottom-row'<'row'<'col-sm-6'i><'col-sm-6 text-right'p>>",
"aaSorting": [],
"oTableTools" : {
"aButtons" : ["copy", "print", {
"sExtends" : "collection",
"sButtonText" : 'Save <span class="caret" />',
"aButtons" : ["csv", {
"sExtends": "xls",
"sFileName": "*.xls",
"bFooter": false
}, "pdf"]
}],
"sSwfPath" : "<?=$baseUrl?>static/js/plugin/datatables/media/swf/copy_csv_xls_pdf.swf"
},
"fnInitComplete" : function(oSettings, json) {
$(this).closest('#dt_table_tools_wrapper').find('.DTTT.btn-group').addClass('table_tools_group').children('a.btn').each(function() {
$(this).addClass('btn-sm btn-default');
});
}
});