PhpExcel export data from a website to CSV file
10,406
csvYou didn't mention the structure of your array ($records).. Hope it's like
$records[] = array('EMPLOYEE'=>'name1','TOTAL'=>'total1'),array('EMPLOYEE'=>'name2','TOTAL'=>'total2');
Please try code below
if($post['export'] == '1')
{
if(!empty($records))
{
require_once 'PHPExcel/IOFactory.php';
require_once 'PHPExcel.php';
$objPHPExcel = new PHPExcel(); // Create new PHPExcel object
$column = A;
$headings=array('EMPLOYEE','TOTAL');
for($c=0;$c<count($headings);$c++)
{
$objPHPExcel->getActiveSheet()->setCellValue($column.'1',$headings[$c]); // Add column heading data
if($c==count($headings)-1)
{
break;// Need to terminate the loop when coumn letter reachs max
}
$column++;
}
while (list($key,$value) = each($records))
{
$objPHPExcel->getActiveSheet()->setCellValue('A'.$j,$value['EMPLOYEE']);
$objPHPExcel->getActiveSheet()->setCellValue('B'.$j,$value['TOTAL']);
$j++;
}
$objActSheet->setTitle('Staff AttendanceRecord');
$workbookName = 'Attendance';
// Redirect output to a client’s web browser (Excel5)
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="'.$workbookName.'.csv"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
}
}
Author by
Jacky14
Updated on June 04, 2022Comments
-
Jacky14 almost 2 years
I want to export data from orangehrm attendance report to csv file by using phpexcel but I don't know how to do it:
$records = array(); foreach ($empRecords as $employee) { $hasRecords = false; $attendanceRecords = $employee->getAttendanceRecord(); $total = 0; foreach ($attendanceRecords as $attendance) { $from = $this->date . " " . "00:" . "00:" . "00"; $end = $this->date2 . " " . "23:" . "59:" . "59"; if (strtotime($attendance->getPunchInUserTime()) >= strtotime($from) && strtotime($attendance->getPunchInUserTime()) <= strtotime($end)) { if ($attendance->getPunchOutUtcTime()) { $total = $total + round((strtotime($attendance->getPunchOutUtcTime()) - strtotime($attendance->getPunchInUtcTime())) / 3600, 2); } $records[] = $attendance; $hasRecords = true; } } if ($hasRecords) { $last = end($records); $last->setTotal($total); } else { $attendance = new AttendanceRecord(); $attendance->setEmployee($employee); $attendance->setTotal('---'); $records[] = $attendance; } } // Algorithm to export filtered/ searched data if($post['export'] == '1'){ //require_once 'PHPExcel/Reader/Excel15.php'; //require_once 'PHPExcel/Reader/Excel2007.php'; require_once 'PHPExcel/IOFactory.php'; require_once 'PHPExcel.php'; $objPHPExcel = new PHPExcel(); $objActSheet = $objPHPExcel->getActiveSheet(); $objActSheet->setTitle('Staff AttendanceRecord'); $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); $objWriter->save('Attendance.xslx'); }