在Datatable中导出到excel按钮实现

时间:2016-06-25 05:15:56

标签: ajax datatables

您好我正在尝试将导出到我的数据表中的excel按钮,但它对我不起作用。有人可以帮助摆脱这个问题。

这是我的js代码......

    function Getpolicestationdetailsbylatlong(x, y) {


        $.ajax({
            type: "POST",
            url: "Health.asmx/Getpolicestationdetailsbylatlong",
            data: "{'x':'" + x + "','y':" + y + "}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: OnSuccess,
            error: OnError
        });

        function OnSuccess(data, status) {


            var myObject = JSON.parse(data.d);
            var source = {
                datatype: "json",
                datafields: [

                    { name: 'district' },
                    { name: 'police_sta' }
                    //{ name: 'gid' }


                ],
                localdata: myObject
            };


            $('#example').DataTable(
                {


                    data: myObject,
                    dom: 'Bfrtip',

                    columns: [
                                   { 'data': 'district' },

                                   { 'data': 'police_sta' }



                    ],

                    buttons: [
            'copyHtml5',
            'excelHtml5',
            'csvHtml5',
            'pdfHtml5'
                    ]
});

和html代码是.....

<table id="example" class="display"  style="width:100%">
        <thead>
            <tr>
                <th>DistrictName</th>
                <th>Policestation</th>



            </tr>
        </thead>
      </table>

对于上面的代码数据表正在显示,但我没有导出按钮。

1 个答案:

答案 0 :(得分:0)

正如@ davidkonrad的评论中提到的,您几乎肯定错过了JsZip扩展,这是Excel导出按钮与DataTables一起使用所必需的。

引用DataTables下载页面:

  

JSZip提供了一种在纯Javascript中创建zip文件的方法。此库必须才能在Excel按钮上运行。

作为旁注,如果您的PDF按钮也不起作用,可能是因为该按钮需要PDFMake扩展名,尽管听起来只有您的Excel按钮被破坏。