如何使用AJAX调用将数据从数据库导出到Excel&;JavaScript?

如何使用AJAX调用将数据从数据库导出到Excel&;JavaScript?,javascript,php,sql,ajax,excel,Javascript,Php,Sql,Ajax,Excel,我有listbox包含一些农民ID,我想从数据库中获取详细信息(电话号码、地址等)并将其导出到Excel文件,我曾想过使用AJAX调用从数据库中获取数据,但如何将这些数据导出到Excel文件 JavaScript代码: function ExportData() { var ul = document.getElementById("FarmersID"); var items = ul.getElementsByTagName("option"); var farmer

我有
listbox
包含一些农民ID,我想从数据库中获取详细信息(电话号码、地址等)并将其导出到Excel文件,我曾想过使用AJAX调用从数据库中获取数据,但如何将这些数据导出到Excel文件

JavaScript代码:

function ExportData()
{
    var ul = document.getElementById("FarmersID");
    var items = ul.getElementsByTagName("option");
    var farmers=[];

    if (items.length == 0)
    {
        alert ("No Farmers Found!");
        return false;
    }
    else
    {
        for (var i = 0; i < items.length; ++i) 
        {
            farmers.push(items[i].text);
        }
        var jsonString = JSON.stringify(farmers);

        $.ajax({
            type:"POST",
            url:"get_farmerdata.php",
            data:
                { 
                   'FarmerData':jsonString
                },
            success: function (response) 
                {
                    alert(response);
                },
            error: function(jqXHR, textStatus, errorThrown) {
            console.log('ERROR', textStatus, errorThrown);
            }
       })
   }
}
函数ExportData()
{
var ul=document.getElementById(“FarmersID”);
var items=ul.getElementsByTagName(“期权”);
var=[];
如果(items.length==0)
{
警惕(“没有发现农民!”);
返回false;
}
其他的
{
对于(变量i=0;i
PHP代码:

<html>
<?php
    include_once "connect.php";

    $FarmerData=json_decode($_POST['FarmerData'],true);
    $ids = join("','",$FarmerData);   

    $stmt ="SELECT * FROM Farmers where Farm_id IN ('$ids')";

    foreach ($conn->query($stmt) as $row) 
    {
        echo $row['nick_name_']."<br>";
    }   
?>
</html>

您可以使用jquery插件

在PHP代码中,只需回显在简单HTML表中执行的数据库数据

之后,在jquery中,将php中的响应表附加到页面中,并使用
table2excel
插件将其导出:

success: function (response) 
{
   $('#YourTableDiv').append(response);

   $('#YourTableDiv').table2excel({
      exclude: ".excludeThisClass",
      name: "Worksheet Name",
      filename: "SomeFile" //do not include extension
      fileext: ".xls", // MUST use .xls extension, only this will work
   }); 
},
这是我在JSFIDLE中创建的示例代码:

注意,在这个提琴中,我使用的是旧版本的table2excel,因此它将下载.xlxs中的文件,不幸的是无法打开(已知问题),所以只需将其重命名为.xls即可。 但是如果您使用最新版本,在我提供给您的github链接上,它应该可以正常工作