2016-01-14 3 views
2

Я успешно создал небольшую таблицу jqgrid. Я пытаюсь экспортировать эту таблицу в Excel или PDF-файл, используя JQuery. Я новичок в jquery и jqgrid. Может кто-нибудь, пожалуйста, дайте мне знать, что не так в коде? Я бы очень признателен за помощь или предложения.Невозможно экспортировать таблицу jqgrid как excel/pdf.

Я нашел функцию экспорта в Интернете. Он сказал, что мне нужно просто вызвать эту функцию с идентификатором сетки. Я делаю что-то неправильно?

export.php файл:

<!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> 

ответ

0

Заменить функцию с этим и дайте мне знать, если он работает для вас.

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(); 
} 
+0

Благодарим вас за ответ. Я попробую это и вернусь к вам. – Albetros

+0

Я изменил строку о имени файла, которое может дать вам ошибку, если имя файла arg не определено. – kpucha

Смежные вопросы