我使用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');
});
}
});
答案 0 :(得分:3)
这是可能的。您必须使用"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');
});
}
});