【问题标题】:How to export data from database into Excel using AJAX call & JavaScript?如何使用 AJAX 调用和 JavaScript 将数据库中的数据导出到 Excel?
【发布时间】:2017-02-06 23:04:35
【问题描述】:

我有 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);
            }
       })
   }
}

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>

【问题讨论】:

    标签: javascript php sql ajax excel


    【解决方案1】:

    您可以使用table2excel 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
       }); 
    },
    

    这是我在 jsfiddle 中创建的示例代码:https://jsfiddle.net/bj3djhbr/

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

    【讨论】:

      猜你喜欢
      • 2022-01-20
      • 1970-01-01
      • 1970-01-01
      • 2014-12-02
      • 2022-07-03
      • 2015-05-27
      • 1970-01-01
      • 2015-12-20
      相关资源
      最近更新 更多