【问题标题】:Can anyone help me on this Download Jquery Datatable data in Excel and PDF谁能帮我下载 Excel 和 PDF 格式的 Jquery Datatable 数据
【发布时间】:2014-11-29 17:01:33
【问题描述】:

我是 jQuery 的新手,需要从 JQuery Datatable 实现 Excel 和 PDF 中的数据下载功能。

Datatable 已经实现,我只需要实现下载数据功能。

我用谷歌搜索了它,但找不到更好的文章来更好地解释事情。

下面是代码供参考。

HTML:

<table class="table table-bordered" data-table-name="pqe-contact-dom"></table> 

在 HTML 中我们使用 data-table-name="pqe-contact-dom" 将数据填充到表格中,并将数据表代码写入 JS 文件中。

JS 文件代码:

var reportFunction = function(code) {   
    $.ajax({
                type : 'get',
                url : url,
                dataType : 'json',
                success : function(data) {
                var reportArray = new Array();
                    var reportArrayLen = data.length;


                    for (var l = 0; l < reportArrayLen; l++) {

                            reportArray[l] = new Array();
                            var code = data[l].CODE;
                            var name = data[l].NAME;
                            var e_name = data[l].E_Name;
                            var e_phone = data[l].E_Phone;
                            var e_email = data[l].E_eMail;


                            reportArray[l][0]= supplier_code;
                            reportArray[l][1] = supplier_name;
                            reportArray[l][2] = e_name;
                            reportArray[l][3] = e_phone;
                            reportArray[l][4] = e_email;

                        }   
                        var reportArrayVar = reportArray;
                        gotoReport( reportArrayVar ); //Calling below the function that  datatable and     //passing data array to populate data
                },
                error : function() {
                    alert("ajax error");
                }
                    });

};


//This function will populate the data to the datatable

function gotoReport(reportArrayVar){    

require( [ 'jquery', 'datatables', 'prettify', 'bootstrap'], function(jQuery) 
{ jQuery('table[data-table-name="nonqmreports-dt"]').DataTable(
/* options */{
    //useFloater : false


                useFloater : false,
                'aoColumns' : [ 
                {'sTitle' : 'Code', 'sClass' : 'essential'}, //essential
                {'sTitle' : 'Name ', 'sClass' : 'optional' },
                {'sTitle' : 'E Name', 'sClass' : 'essential'},
                {'sTitle' : 'E Phone', 'sClass' : 'essential'},
                {'sTitle' : 'E eMail ', 'sClass' : 'optional' }

                ],
                'aaData': reportArrayVar,
                'bProcessing': true,
                'isResponsive' : true,
                 'bDestroy': true,
                  'bRetrieve': false,
                'bPaginate':true,
                // 'bStateSave': true,
                 'bInfo': true,
                'sPaginationType': 'full_numbers'


})
});  

}

在此我需要将数据下载到 Excel 和 PDF 功能,但我不清楚如何做到这一点。任何人都可以帮助我了解如何去做吗?

【问题讨论】:

  • 在其中添加任何内容时出错。我已经添加了这个,但是 "tableTools": { "sSwfPath": "/swf/copy_csv_xls_pdf.swf" } 但出现错误,甚至尝试添加按钮但不起作用

标签: javascript jquery ajax datatables jquery-datatables


【解决方案1】:

首先, 这应该出现在您的 JS 代码中[忽略引号中的标签]

"dom": '<"pad5"CT><"clear"><lf<"clear">r<t>ip>',<br>
tableTools: {
  "sSwfPath": "assets/swf/copy_csv_xls_pdf.swf"
}

接下来你需要有这个文件。 copy_csv_xls_pdf.swf [确保路径与初始化的html/php文件一致]

接下来检查控制台 f12 是否有错误并发布错误。
并提及您的 DataTable 版本和我的 Jquery 版本是最新的

享受

【讨论】:

  • 嗨 Rohit 感谢您的回答,但我尝试添加 "sSwfPath": "assets/swf/copy_csv_xls_pdf.swf" 但它给出了错误。您能否使用我在问题中提到的相同代码来简要介绍它,这会有所帮助
  • 看看你有这个文件“assets/swf/copy_csv_xls_pdf.swf”如果没有,那么它会在你的浏览器控制台上给出一个错误
【解决方案2】:

首先在 TableTool 插件文件夹中找到 "copy_csv_xls_pdf.swf" 文件的本地路径,并为 "sSwfPath:" 使用相同的路径,如下所述:

require(['jquery', 'datatables', 'prettify', 'bootstrap'], function (jQuery) {
    jQuery('table[data-table-name="nonqmreports-dt"]').DataTable(
    /* options */
    {
        //useFloater : false

        useFloater: false,
            'aoColumns': [{
            'sTitle': 'Code',
            'sClass': 'essential'
        }, //essential
        {
            'sTitle': 'Name ',
            'sClass': 'optional'
        }, {
            'sTitle': 'E Name',
            'sClass': 'essential'
        }, {
            'sTitle': 'E Phone',
            'sClass': 'essential'
        }, {
            'sTitle': 'E eMail ',
            'sClass': 'optional'
        }

        ],
            'aaData': reportArrayVar,
            'bProcessing': true,
            'isResponsive': true,
            'bDestroy': true,
            'bRetrieve': false,
            'bPaginate': true,
        // 'bStateSave': true,
        'bInfo': true,
        `enter code here`
            'sPaginationType': 'full_numbers',
            "tableTools": {
            "sSwfPath": "/Scripts/TableTools-2.2.0/media/swf/copy_csv_xls_pdf.swf" // path where swf files is located.
        }
    })
});  

【讨论】:

    猜你喜欢
    • 2011-12-05
    • 2021-07-23
    • 1970-01-01
    • 1970-01-01
    • 2021-09-15
    • 1970-01-01
    • 2022-08-10
    • 2011-04-19
    • 2021-08-26
    相关资源
    最近更新 更多