php + jqgrid + export to excel
2022-08-30 21:14:20
有人知道一种将数据从jqgrid导出到excel的方法吗?
我想用这个jqgrid做一个报告,我认为这是令人敬畏的。但是我需要以某种方式保存或打印此报告,因为要保留的信息。有人知道任何方法??
有人知道一种将数据从jqgrid导出到excel的方法吗?
我想用这个jqgrid做一个报告,我认为这是令人敬畏的。但是我需要以某种方式保存或打印此报告,因为要保留的信息。有人知道任何方法??
这是我的方法,只需将此代码添加到您的js / html文件中
$("#list").jqGrid('navGrid', '#pager',{view:true, del:false, add:false, edit:false, excel:true})
.navButtonAdd('#pager',{
caption:"Export to Excel",
buttonicon:"ui-icon-save",
onClickButton: function(){
exportExcel();
},
position:"last"
});
function exportExcel()
{
var mya=new Array();
mya=$("#list").getDataIDs(); // Get All IDs
var data=$("#list").getRowData(mya[0]); // Get First row to get the labels
var colNames=new Array();
var ii=0;
for (var i in data){colNames[ii++]=i;} // capture col names
var html="";
for(i=0;i<mya.length;i++)
{
data=$("#list").getRowData(mya[i]); // get each row
for(j=0;j<colNames.length;j++)
{
html=html+data[colNames[j]]+"\t"; // output each column as tab delimited
}
html=html+"\n"; // output each row with end of line
}
html=html+"\n"; // end of line at the end
document.forms[0].csvBuffer.value=html;
document.forms[0].method='POST';
document.forms[0].action='csvExport.php'; // send it to server which will open this contents in excel file
document.forms[0].target='_blank';
document.forms[0].submit();
}
脚本
header('Content-type: application/vnd.ms-excel');
header("Content-Disposition: attachment; filename=file.xls");
header("Pragma: no-cache");
$buffer = $_POST['csvBuffer'];
try{
echo $buffer;
}catch(Exception $e){
}
非常好的问题,我也在这个问题上挠头。我通过选择Felix的建议来做到这一点,让我通过在你的html正文中添加以下行来完成它。
<form method="post" action="csvExport.php">
<input type="hidden" name="csvBuffer" id="csvBuffer" value="" />
</form>
我唯一的问题是导出的excel文件不包括我在jqgrid中的列名,还有没有办法在导出到excel文件时排除特定的或几个列?
谢谢~