如何将dataTable导出为Excel格式?

时间:2016-06-22 10:26:36

标签: php jquery excel datatables tabletools

我使用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"
            }
        });

我的所有结果是enter image description here

如果我点击Excel按钮,我的另存为窗口为enter image description here

它保存的CSV文件不是Xls或Xlsx格式,而且CSV按钮和Excel按钮都只是导出CSV文件格式..这是我需要导出Excel格式的问题..请分享您的建议或解决方案

2 个答案:

答案 0 :(得分:2)

使用此方法

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

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

但正如其他人在评论中提到的那样,你应该考虑使用buttons插件,这是一个使用它的演示 - &gt; https://jsfiddle.net/zm825k01/

答案 1 :(得分:0)

这就是我所做的,它对我有用。 如果它对你有帮助,请告诉我。

keyIdDict {
    "Feb 5, 2015" =     (
        "/Users/betteruse/Pictures/iPhoto Library.photolibrary/Masters/2014/10/21/20141021-160023/06122009123.jpg"
    );
}