Php 无法将jqgrid表导出为excel/pdf。
我成功地创建了一个小jqgrid表。我正在尝试使用Jquery将此表导出到excel或pdf文件。我不熟悉jquery和jqgrid。有人能告诉我密码有什么问题吗?我真的很想得到一些帮助或建议 我在网上找到了导出功能。它说我必须用网格id调用这个函数。我做错什么了吗 export.php文件:Php 无法将jqgrid表导出为excel/pdf。,php,jquery,jqgrid,Php,Jquery,Jqgrid,我成功地创建了一个小jqgrid表。我正在尝试使用Jquery将此表导出到excel或pdf文件。我不熟悉jquery和jqgrid。有人能告诉我密码有什么问题吗?我真的很想得到一些帮助或建议 我在网上找到了导出功能。它说我必须用网格id调用这个函数。我做错什么了吗 export.php文件: <!doctype html> <html> <head> <meta charset="utf-8"> <title>Untitled Doc
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Untitled Document</title>
<link href="CSS/CalibrationKit.css" rel="stylesheet" type="text/css">
<!-- ------------------------JQGRID files-------------------------------- -->
<link rel="stylesheet" type="text/css" media="screen" href="jquery/css/jquery-ui-1.7.1.custom.css" />
<link rel="stylesheet" type="text/css" media="screen" href="css/ui.jqgrid.css" />
<script src="jquery/js/jquery-1.11.0.min.js" type="text/javascript"></script>
<script src="jquery/js/i18n/grid.locale-en.js" type="text/javascript"></script>
<script src="jquery/js/jquery.jqGrid.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(e) {
/*jqgrid*/
var mydata = [{
head_mean_volume: "50",
head_std_dev: "2",
head_cv: "3",
offset_factor: "4",
scaling_factor: "5"
}];
$("#projectSpreadsheet").jqGrid({
data: mydata,
datatype: "local",
colNames: ["Head Mean Volume Dispensed", "Head Standard Deviation", "Head %CV", "Whole Head Offset Factor", "Whole Head Scaling Factor"],
colModel: [{
name: 'head_mean_volume',
index: 'head_mean_volume',
editable: false,
}, {
name: 'head_std_dev',
index: 'head_std_dev',
editable: false,
}, {
name: 'head_cv',
index: 'head_cv',
editable: false,
}, {
name: 'offset_factor',
index: 'offset_factor',
editable: false,
}, {
name: 'scaling_factor',
index: 'scaling_factor',
editable: false,
}],
'cellEdit': false,
'cellsubmit' : 'clientArray',
editurl: 'clientArray'
}); /*jqGrid close */
/* createExcelFromGrid */
$('#btnSun').click(function() {
$.fn.myFunction("projectSpreadsheet");
});
$.fn.myFunction = function(gridID,filename) {
var grid = $('#' + gridID);
var rowIDList = grid.getDataIDs();
var row = grid.getRowData(rowIDList[0]);
var colNames = [];
var i = 0;
for(var cName in row) {
colNames[i++] = cName; // Capture Column Names
}
var html = "";
for(var j=0;j<rowIDList.length;j++) {
row = grid.getRowData(rowIDList[j]); // Get Each Row
for(var i = 0 ; i<colNames.length ; i++ ) {
html += row[colNames[i]] + ';'; // Create a CSV delimited with ;
}
html += '\n';
}
html += '\n';
var a = document.createElement('a');
a.id = 'ExcelDL';
a.href = 'data:application/vnd.ms-excel,' + html;
a.download = filename ? filename + ".xls" : 'DataList.xls';
document.body.appendChild(a);
a.click(); // Downloads the excel document
document.getElementById('ExcelDL').remove();
}
}); /* function close */
</script>
</head>
<body>
<table id="projectSpreadsheet" class="fixed_headers" style="width:875px"></table>
<br><br>
<button id="btnSun">Export Table data into Excel</button>
</body>
</html>
无标题文件
$(文档).ready(函数(e){
/*jqgrid*/
var mydata=[{
总平均体积:“50”,
负责人:“2”,
校长简历:“3”,
补偿系数:“4”,
比例因子:“5”
}];
$(“#项目电子表格”).jqGrid({
数据:mydata,
数据类型:“本地”,
colNames:[“头平均分配体积”、“头标准偏差”、“头百分比CV”、“整头偏移系数”、“整头比例系数”],
colModel:[{
名称:'head_mean_volume',
索引:“总平均体积”,
可编辑:false,
}, {
名称:'head_std_dev',
索引:'head_std_dev',
可编辑:false,
}, {
姓名:'head_cv',
索引:'head_cv',
可编辑:false,
}, {
名称:“偏移量系数”,
索引:“偏移量系数”,
可编辑:false,
}, {
名称:“比例系数”,
索引:“比例因子”,
可编辑:false,
}],
“cellEdit”:false,
“cellsubmit”:“clientArray”,
editurl:“客户端阵列”
});/*jqGrid关闭*/
/*createExcelFromGrid*/
$('#btnson')。单击(函数(){
$.fn.myFunction(“项目电子表格”);
});
$.fn.myFunction=函数(gridID,文件名){
var grid=$(“#”+gridID);
var rowIDList=grid.getDataIDs();
var row=grid.getRowData(rowIDList[0]);
var colNames=[];
var i=0;
for(第行中的变量cName){
colNames[i++]=cName;//捕获列名
}
var html=“”;
对于(var j=0;j用这个函数替换你的函数,并告诉我它是否适合你
function(gridID,filename) {
var html = $('#gview_' + gridID).html();
var a = document.createElement('a');
a.id = 'tempLink';
a.href = 'data:application/vnd.ms-excel,' + html;
a.download = filename + ".xls";
document.body.appendChild(a);
a.click(); // Downloads the excel document
document.getElementById('tempLink').remove();
}
谢谢您的回复。我将尝试此操作并返回给您。我更改了一行关于文件名的内容,如果未定义文件名arg,可能会给您带来错误。