JezK
Edit File: export_myquotations.php
<?php include_once("./app/adminObj.php"); include_once("./app/checkSession.php"); require_once("../vendor/autoload.php"); use PhpOffice\PhpSpreadsheet\Spreadsheet; use PhpOffice\PhpSpreadsheet\IOFactory; header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); header('Content-Disposition: attachment;filename="QUOTATION_LIST.xlsx"'); header('Cache-Control: max-age=0'); header('Cache-Control: max-age=1'); header('Cache-Control: cache, must-revalidate'); header('Pragma: public'); $spreadsheet = new Spreadsheet(); //Specify the properties for this document //To apply auto size to all fields from B to Z foreach(range('B','K') as $columnID) { $spreadsheet->getActiveSheet()->getColumnDimension($columnID) ->setAutoSize(true); } // print_r($_GET); if(isset($_GET['type']) && $_GET['type']==2){ $quoteCondition = "urq.warehouse_id=".$_GET['wid']; } else if(isset($_SESSION['user_id']) && isset($_SESSION['user_id'])!=''){ $quoteCondition = "umw.company_id=".(int)$_SESSION['company_id']; } //~ if(isset($_SESSION) && $_SESSION['user_id']!=''){ //~ $condition="user_id=".$_SESSION['user_id']; //~ } //~ // $rows = $adminObj->db->get_results($sql); $sql= "SELECT urq.*,urq.asn_status,us.first_name,us.last_name,us.role_id,umw.warehouse_name FROM uflexit_request_quote as urq JOIN uflexit_master_warehouse as umw on umw.warehouse_id=urq.warehouse_id JOIN uflexit_users as us ON us.user_id=urq.user_id where $quoteCondition "; $details = $wareHouseAdminObj->db->get_results($sql); $col = 'A'; $heading_array=array('S.No','Warehouse Name','Quotation Number','Customer Name', 'Customer Type','Status'); // setting the heading $i =1; foreach($heading_array as $heading) { $spreadsheet->getActiveSheet(0)->setCellValue($col++.$i,$heading); } $j=1; //~ $details = array(); foreach($details as $row) { $col = 'A'; $i++; $row['customer_name']=$row['first_name'].' '. $row['last_name']; $row['customer_type']=$row['role_id']==3?'Individual':'Business'; switch ($row['closed_status']) { case "0": $closedStatus = "Pending"; break; case "1": $closedStatus = "Waiting acceptance"; break; case "2": $closedStatus = "Lost"; break; case "3": $closedStatus = "Won"; break; case "4": $closedStatus = "Finally Closed"; break; default: $closedStatus = "Pending"; } $row['status'] = $closedStatus ; $spreadsheet->getActiveSheet(0)->setCellValue($col++.$i ,$j++); $spreadsheet->getActiveSheet(0)->setCellValue($col++.$i,$row['warehouse_name']); $spreadsheet->getActiveSheet(0)->setCellValue($col++.$i,$row['quotation_id']); $spreadsheet->getActiveSheet(0)->setCellValue($col++.$i, $row['customer_name']); $spreadsheet->getActiveSheet(0)->setCellValue($col++.$i , $row['customer_type']); $spreadsheet->getActiveSheet(0)->setCellValue($col++.$i,$row['status']); } // $spreadsheet->getActiveSheet() // ->setCellValue('C6', '=SUM(C1:C5)'); // $spreadsheet->getActiveSheet() // ->getStyle("C6")->getFont() // ->setBold(true); $writer = IOFactory::createWriter($spreadsheet, "Xlsx"); //Xls is also possible // $writer->save("my_excel_file.xlsx"); $writer->save('php://output'); ?>