Exporting to Excel is supported via the excel option in the navigator set to true. Click on the button to see how it works.
Note the formula at the bottom and how dates and numbers are formatted correct.
Try to filter records and then export it - now we export only the filtered records.
As of version 4.8 we support creating a true excel 2007 and excel5 files.
This is achieved with PHP excel class. See the code for all available options
<?php
require_once '../../../../php/demo/tabs.php';
?>
<!DOCTYPE html>
<html>
<head>
<title>jqGrid PHP Demo</title>
<link rel="stylesheet" type="text/css" media="screen" href="../../../../css/jquery-ui.css" />
<link rel="stylesheet" type="text/css" media="screen" href="../../../../css/trirand/ui.jqgrid.css" />
<link rel="stylesheet" type="text/css" media="screen" href="../../../../css/ui.multiselect.css" />
<style type="text">
html, body {
margin: 0; /* Remove body margin/padding */
padding: 0;
overflow: hidden; /* Remove scroll bars on browser window */
font-size: 75%;
}
</style>
<script src="../../../../js/jquery.min.js" type="text/javascript"></script>
<script src="../../../../js/trirand/i18n/grid.locale-en.js" type="text/javascript"></script>
<script src="../../../../js/trirand/jquery.jqGrid.min.js" type="text/javascript"></script> <script type="text/javascript">
$.jgrid.no_legacy_api = true;
$.jgrid.useJSON = true;
$.jgrid.defaults.width = "700";
</script>
<script src="../../../../js/jquery-ui.min.js" type="text/javascript"></script>
</head>
<body>
<div>
<?php include ("grid.php");?>
</div>
<br/>
<?php tabs(array("grid.php"));?>
</body>
</html>
grid.php.
<?php
require_once '../../jq-config.php';
// include the jqGrid Class
require_once ABSPATH."php/PHPSuito/jqGrid.php";
// include the driver class
require_once ABSPATH."php/PHPSuito/DBdrivers/jqGridPdo.php";
// Connection to the server
$conn = new PDO(DB_DSN,DB_USER,DB_PASSWORD);
// Tell the db that we use utf-8
$conn->query("SET NAMES utf8");
// Create the jqGrid instance
$grid = new jqGridRender($conn);
// Write the SQL Query
$grid->SelectCommand = 'SELECT OrderID, OrderDate, CustomerID, ShipName, Freight FROM orders';
// Set output format to json
$grid->dataType = 'json';
// Let the grid create the model
$grid->setColModel();
// Set the url from where we obtain the data
$grid->setUrl('grid.php');
// Set some grid options
$grid->setGridOptions(array(
"rowNum"=>10,
"rowList"=>array(10,20,30),
"sortname"=>"OrderID",
"caption"=>"Excel export"
));
// Change some property of the field(s)
$grid->setColProperty("OrderDate", array(
"formatter"=>"date",
"formatoptions"=>array("srcformat"=>"Y-m-d H:i:s","newformat"=>"m/d/Y"),
"search"=>false
)
);
$grid->setColProperty("ShipName", array("label"=>"Shipper Name","width"=>"200"));
$grid->setSelect('CustomerID', "SELECT CustomerID, CompanyName FROM customers");
// Enable navigator
$grid->navigator = true;
// Enable excel export
$grid->setNavOptions('navigator', array("excel"=>true,"add"=>false,"edit"=>false,"del"=>false,"view"=>false));
// Set different Excel options (all available)
// a PHP excel lib should be preset
$grid->setExcelOptions(array(
"file_type"=>"Excel2007", //Excel2007,Excel5,xml
"file"=>"report.xlsx",
"start_cell" => "A1",
"creator"=>"jqGrid",
"author"=>"jqGrid",
"title"=>"jqGrid Excel",
"subject"=>"Office 2007 XLSX Document",
"description"=>"Document created with Guriddo",
"keywords"=>"Guriddo, jqGrid, Excel",
"font"=>"Arial",
"font_size"=>11,
"header_title"=>"Report created with jqGrid",
"protect" => false,
"password"=>"Guriddo",
"path_to_phpexcel_class"=>"External/phpexcel/PHPExcel.php"
));
$grid->exportfile = 'Report.xls';
// Enjoy
$grid->renderGrid('#grid','#pager',true, null, null, true,true);