如何将数据表导出为Excel格式?

我已经使用tableTools插件导出数据表格数据,我已经包括以下插件

<script src="js/jquery-1.12.3.js"></script> <script src="js/bootstrap.min.js"></script> <script src="js/moment/moment.min.js" type="text/javascript"></script> <script src="js/jquery.dataTables.js" type="text/javascript"></script> <script src="js/dataTables.tableTools.js"></script> 

HTML代码

 <table id="result_table" class="display table table-bordered" cellspacing="0" width="100%"></table> 

和我的初始化部分,

 var oTable = $('#result_table').dataTable({ //"iDisplayLength": 50, //"order" : [[0,"desc"]], "columnDefs": [ { "width": "16%", "targets": 1 } ], "lengthMenu": [[10, 50, 100, -1], [10, 50, 100, "All"]], "dom": 'T<"clear">lfrtip', "tableTools": { "sSwfPath": "copy_csv_xls_pdf.swf" } }); 

我真正的结果是 在这里输入图像说明

如果我点击Excelbutton我保存为窗口 在这里输入图像说明

它被保存的CSV文件不是XLS或XLSX格式,而且CSVbutton和Excelbutton都是仅导出CSV文件格式..这是我需要导出Excel格式的问题..请分享您的build议或解决scheme

使用这种方法

 oTableTools: { sSwfPath: "copy_csv_xls_pdf.swf", aButtons: [ { sExtends: "xls", mColumns: 'visible', sFileName: 'export.xls', sToolTip: 'Save current table as XLS' } ] } 

重要的是sExtends: "xls"sFileName以确保下载的文件附加了正确的文件名。

但正如其他人在评论中提到的,你应该真的考虑使用button插件,这里是一个演示使用 – > https://jsfiddle.net/zm825k01/

这是我所做的,它为我工作。 让我知道,如果它可以帮助你。

 <script src="/js/jquery-1.12.0.min.js"></script> <script src="/js/datatables/jquery.dataTables.min.js"></script> <script src="/js/datatables/dataTables.bootstrap.min.js"></script> <script src="/js/datatables/dataTables.buttons.min.js"></script> <script src="/js/datatables/buttons.bootstrap.min.js"></script> <script src="/js/datatables/jszip.min.js"></script> <script src="/js/datatables/pdfmake.min.js"></script> <script src="/js/datatables/vfs_fonts.js"></script> <script src="/js/datatables/buttons.html5.min.js"></script> <script src="/js/datatables/buttons.print.min.js"></script> <script src="/js/datatables/buttons.colVis.min.js"></script> var table = $('#example').DataTable({ lengthChange: false, buttons: [ 'copy', 'excel', 'pdf', 'colvis' ] }); table.buttons().container().appendTo( '#example_wrapper .col-sm-6:eq(0)' );