$date = strtotime($_GET['month']); $month=date("m",$date); $year=date("Y",$date); $objPHPExcel = new PHPExcel(); $style1 = array( 'alignment' => array( 'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER, ) ); $style = array( 'alignment' => array( 'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER, ), 'fill' => array( 'type' => PHPExcel_Style_Fill::FILL_SOLID, 'color' => array('rgb' => ' ffbf00') ) ); $objPHPExcel->setActiveSheetIndex(0)->setCellValue('A1', 'GMP Software Pvt Ltd' ); $objPHPExcel->setActiveSheetIndex(0)->setCellValue('A2', 'Attendance Report - '.$month.'-'.$year ); $objPHPExcel->setActiveSheetIndex(0)->setCellValue('A3', 'Employee Id'); $objPHPExcel->setActiveSheetIndex(0)->setCellValue('B3', 'Employee Name'); $mon = explode("-", $_GET["month"]); $curdate=strtotime(date("d", $timestamp)."-".$mon[1]."-".$mon[0]); $days = cal_days_in_month(CAL_GREGORIAN,$mon[1],$mon[0]); $b = 'C'; $counter = 1; for ($i =1; $i <= $days; $i++) { $datenum = $counter++; $today = date("$year-$month-$datenum", strtotime($_GET['month'])); $objPHPExcel->setActiveSheetIndex(0) ->setCellValue($b++. + 3, $today); $objPHPExcel->setActiveSheetIndex(0)->mergeCells('A1:'.$b. + 1); $objPHPExcel->setActiveSheetIndex(0)->getStyle('A1:'.$b. + 1)->applyFromArray($style1); $objPHPExcel->setActiveSheetIndex(0)->mergeCells('A2:'.$b. + 2); $objPHPExcel->setActiveSheetIndex(0)->getStyle('A3:'.$b. + 3)->getFont()->setBold( true ); $objPHPExcel->setActiveSheetIndex(0)->getStyle('A2:'.$b. + 2)->applyFromArray($style); } $ii = 4; $sql = "SELECT * FROM employee WHERE status='active' AND department LIKE '%".$_GET["department_name"]."%'"; $result = $conn->query($sql); if ($result->num_rows > 0) { while ($row = $result->fetch_assoc()) { $objPHPExcel->setActiveSheetIndex(0) ->setCellValue('A'.$ii, $row["emp_id"]); $objPHPExcel->setActiveSheetIndex(0) ->setCellValue('B'.$ii, $row["emp_name"]); $b1 = 'C'; $temp = Array(); $temp["emp_id"] = $row["emp_id"]; for ($i = 1; $i <= $days; $i++) { $today = $mon[0]."-".$mon[1]."-".$i; $mydate=strtotime($i."-".$mon[1]."-".$mon[0]); if($curdate > $mydate) { $sql1 = "SELECT * FROM attendence WHERE DATE(indate)='$today' AND emp_id='".$row["emp_id"]."'"; $result1 = $conn->query($sql1); if ($result1->num_rows > 0) { while ($row1 = $result1->fetch_assoc()) { $temp[$today] = "P"; } } else { $temp[$today] = "A"; } } else { $temp[$today] = ""; } $objPHPExcel->setActiveSheetIndex(0) ->setCellValue($b1++. + $ii, $temp[$today]); } $ii++; } } $objPHPExcel->getActiveSheet()->setTitle('Simple'); $objPHPExcel->setActiveSheetIndex(0); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); $objWriter->save(__DIR__."/employeesalaryreport.xls"); $file = 'employeesalaryreport.xls'; header('Content-Description: File Transfer'); header('Content-Type: application/octet-stream'); header('Content-Disposition: attachment; filename="'.basename($file).'"'); header('Expires: 0'); header('Cache-Control: must-revalidate'); header('Pragma: public'); header('Content-Length: ' . filesize($file)); readfile($file); unlink('employeereport.xls'); }