Last active
June 14, 2020 20:12
-
-
Save gridphp/71f6e504682a2283362f5f347ecdae4c to your computer and use it in GitHub Desktop.
PHPGrid export using PHPExcel - https://www.gridphp.com
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
/** | |
* PHP Grid Component | |
* | |
* @author Abu Ghufran <gridphp@gmail.com> - http://www.phpgrid.org | |
* @version 2.0.0 | |
* @license: see license.txt included in package | |
*/ | |
/** | |
* Basic Grid Sample | |
* You can use inline edit mode or dialog edit mode | |
*/ | |
include_once("../../config.php"); | |
include(PHPGRID_LIBPATH."inc/jqgrid_dist.php"); | |
// Database config file to be passed in phpgrid constructor | |
$db_conf = array( | |
"type" => PHPGRID_DBTYPE, | |
"server" => PHPGRID_DBHOST, | |
"user" => PHPGRID_DBUSER, | |
"password" => PHPGRID_DBPASS, | |
"database" => PHPGRID_DBNAME2 | |
); | |
$g = new jqgrid($db_conf); | |
$grid["caption"] = "Sample Grid"; | |
$grid["autowidth"] = true; | |
// export PDF file params | |
$grid["export"] = array("format"=>"xls","filename"=>"my-file", "heading"=>"Invoice Details", "orientation"=>"landscape", "paper"=>"a4"); | |
$g->set_options($grid); | |
$g->set_options($grid); | |
$g->table = "ScansReport1"; | |
$g->set_actions(array( | |
"view"=>true, // allow/disallow delete | |
"export"=>true, // allow/disallow delete | |
"rowactions"=>false, // show/hide row wise edit/del/save option | |
"autofilter" => true, // show/hide autofilter for search | |
"search" => true // show single/multi field search condition (e.g. simple or advance) | |
) | |
); | |
$e["on_export"] = array("custom_export", null, false); | |
$g->set_events($e); | |
// custom on_export callback function | |
function custom_export($param) | |
{ | |
// get array from query | |
$g = $param["grid"]; | |
$arr = $g->get_all("select * from ScansReport1"); | |
// create excel sheet | |
include PHPGRID_LIBPATH."inc/excel/".'PHPExcel/IOFactory.php'; | |
$objPHPExcel = new PHPExcel(); | |
$objPHPExcel->getActiveSheet()->fromArray($arr, NULL, 'A1'); | |
// write excel2007 standard xlsx | |
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); | |
header('Content-Type: application/vnd.ms-excel'); | |
header('Content-Disposition: attachment;filename="myFile.xlsx"'); | |
header('Cache-Control: max-age=0'); | |
$objWriter->save('php://output'); | |
} | |
$out = $g->render("list1"); | |
?> | |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> | |
<html> | |
<head> | |
<link rel="stylesheet" type="text/css" media="screen" href="../../lib/js/themes/redmond/jquery-ui.custom.css"></link> | |
<link rel="stylesheet" type="text/css" media="screen" href="../../lib/js/jqgrid/css/ui.jqgrid.css"></link> | |
<script src="../../lib/js/jquery.min.js" type="text/javascript"></script> | |
<script src="../../lib/js/jqgrid/js/i18n/grid.locale-en.js" type="text/javascript"></script> | |
<script src="../../lib/js/jqgrid/js/jquery.jqGrid.min.js" type="text/javascript"></script> | |
<script src="../../lib/js/themes/jquery-ui.custom.min.js" type="text/javascript"></script> | |
</head> | |
<body> | |
<div> | |
<?php echo $out?> | |
</div> | |
<?php | |
/** | |
* Return first doc comment found in this file. | |
* | |
* @return string | |
*/ | |
function getFileDocBlock() | |
{ | |
$docComments = array_filter( | |
token_get_all( file_get_contents( __FILE__ ) ), function($entry) { | |
return $entry[0] == T_DOC_COMMENT; | |
} | |
); | |
$fileDocComment = array_shift( $docComments ); | |
$fileDocComment = array_shift( $docComments ); | |
return $fileDocComment[1]; | |
} | |
echo getFileDocBlock(); | |
?> | |
</body> | |
</html> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment