我有listbox
包含一些Farmers 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>
答案 0 :(得分:0)
您可以使用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链接上,它应该可以正常工作。