Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 有人能帮我下载Excel和PDF格式的Jquery数据表数据吗_Javascript_Jquery_Ajax_Datatables_Jquery Datatables - Fatal编程技术网

Javascript 有人能帮我下载Excel和PDF格式的Jquery数据表数据吗

Javascript 有人能帮我下载Excel和PDF格式的Jquery数据表数据吗,javascript,jquery,ajax,datatables,jquery-datatables,Javascript,Jquery,Ajax,Datatables,Jquery Datatables,我对jQuery非常陌生,需要从jQuery Datatable在Excel和PDF中实现数据下载功能 Datatable已经实现了,因此只有我需要实现下载数据功能 我在谷歌上搜索了一下,但找不到好文章来更好地解释问题 以下是参考代码 HTML: <table class="table table-bordered" data-table-name="pqe-contact-dom"></table> var reportFunction = function(cod

我对jQuery非常陌生,需要从jQuery Datatable在Excel和PDF中实现数据下载功能

Datatable已经实现了,因此只有我需要实现下载数据功能

我在谷歌上搜索了一下,但找不到好文章来更好地解释问题

以下是参考代码

HTML:

<table class="table table-bordered" data-table-name="pqe-contact-dom"></table> 
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'


})
});  

在HTML中,我们使用数据表名=“pqe contact dom”将数据填充到表中,并且数据表代码写在JS文件中

JS文件代码:

<table class="table table-bordered" data-table-name="pqe-contact-dom"></table> 
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'


})
});  
var reportFunction=函数(代码){
$.ajax({
键入:“get”,
url:url,
数据类型:“json”,
成功:功能(数据){
var reportArray=新数组();
var reportArrayLen=data.length;
对于(var l=0;l
}

在这方面,我需要实现数据下载到Excel和PDF的功能,但我不清楚如何做到这一点。有人能帮我理解怎么做吗?

第一件事第一, 这应该出现在JS代码中[忽略引号中的标记]

"dom": '<"pad5"CT><"clear"><lf<"clear">r<t>ip>',<br>
tableTools: {
  "sSwfPath": "assets/swf/copy_csv_xls_pdf.swf"
}
“dom”:“”,
表格工具:{ “sSwfPath”:“assets/swf/copy_csv_xls_pdf.swf” }
接下来,你需要这个文件。 copy_csv_xls_pdf.swf[确保路径与初始化的html/php文件一致]

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


享受

首先在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.
        }
    })
});  

向此添加任何内容时出错。我已经添加了这个,但是“tableTools”:{“sSwfPath”:“/swf/copy_csv_xls_pdf.swf”}但是出现错误甚至尝试添加按钮但不起作用Hi Rohit感谢您的回答,但我尝试添加“sSwfPath”:“assets/swf/copy_csv_xls_pdf.swf”,但它给出了错误。能否请您使用我在问题中提到的相同代码进行简要说明,这将很有帮助,并查看您是否将此文件显示为“assets/swf/copy\u csv\u xls\u pdf.swf”,如果没有,则您的浏览器控制台将出现错误