JezK
Edit File: export_quotation_list.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="QuotationList.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); } $condition=''; if(isset($_SESSION) && $_SESSION['customer_user_id']!=''){ $condition="urq.user_id=".$_SESSION['customer_user_id']; } //~ // $rows = $adminObj->db->get_results($sql); $sql= "select urq.quotation_id,umw.warehouse_name,us.first_name,us.last_name,us.role_id, urq.quotation_status,urq.closed_status from uflexit_request_quote as urq JOIN uflexit_master_warehouse as umw ON urq.warehouse_id=umw.warehouse_id JOIN uflexit_users as us ON us.user_id=urq.user_id where $condition"; $details = $customerObj->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; if($details){ foreach($details as $row) { $col = 'A'; $i++; $customer_name = $row['first_name'].$row['last_name']; $type=""; if ($row['role_id'] == 1){ $type = "Owner"; }else if($row['role_id'] == 2){ $type = "Sub Admin"; }else if($row['role_id'] == 3){ $type = "Individual Customer"; }else if($row['role_id'] == 4){ $type = "Business Customer"; } 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,$customer_name); $spreadsheet->getActiveSheet(0)->setCellValue($col++.$i,$type); $spreadsheet->getActiveSheet(0)->setCellValue($col++.$i,$row['status']); } } $writer = IOFactory::createWriter($spreadsheet, "Xlsx"); //Xls is also possible // $writer->save("my_excel_file.xlsx"); $writer->save('php://output'); ?>