<?php
include 'PhpExcel/PHPExcel.php' ;

$page_filename = 'ReportMonth-'.date( str_replace("/","",$dateformat), time() ) ;
$objPHPExcel   = new PHPExcel() ;
$objPHPExcel->getProperties()->setCreator(COMPANY)->setTitle(COMPANY)->setSubject(COMPANY)->setDescription(COMPANY)->setKeywords(COMPANY)->setCategory(COMPANY) ;
$objPHPExcel->getActiveSheet()->setTitle( $page_filename ) ;
$objPHPExcel->setActiveSheetIndex(0);
$objWriter     = PHPExcel_IOFactory::createWriter( $objPHPExcel, 'Excel5' ) ;
$cacheMethod   = PHPExcel_CachedObjectStorageFactory:: cache_to_phpTemp;
$cacheSettings = array( 
    'memoryCacheSize' => '50MB',
    'cacheTime'       => 1200
) ;
PHPExcel_Settings::setCacheStorageMethod( $cacheMethod, $cacheSettings ) ;

$styleArrayTitle = array(
    'font'  => array(
        'bold'  => true ,
        'color' => array( 'rgb' => '000000' ) ,
        'size'  => 15
    ),
    'alignment' => array(
        'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER,
    )
);

$styleArrayDay = array(
    'font'  => array(
        'bold'  => true
    ),
    'borders' => array(
        'outline' => array(
            'style' => PHPExcel_Style_Border::BORDER_THIN
        )
    ),
    'alignment' => array(
        'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER,
    )
) ;

$styleArrayBg1 = array(
    'fill' => array(
        'type' => PHPExcel_Style_Fill::FILL_SOLID,
        'color' => array('rgb' => 'AFABAB')
    ),
    'borders' => array(
        'outline' => array(
            'style' => PHPExcel_Style_Border::BORDER_THIN
        )
    ),
    'alignment' => array(
        'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER,
    )
) ;

$styleArrayBg2 = array(
    'fill' => array(
        'type' => PHPExcel_Style_Fill::FILL_SOLID,
        'color' => array('rgb' => 'FFDA65')
    ),
    'borders' => array(
        'outline' => array(
            'style' => PHPExcel_Style_Border::BORDER_THIN
        )
    ),
    'alignment' => array(
        'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER,
    )
) ;

$styleArray = array(
    'borders' => array(
        'outline' => array(
            'style' => PHPExcel_Style_Border::BORDER_THIN
        )
    ),
    'alignment' => array(
        'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER,
    )
) ;

$styleArrayLeft = array(
    'borders' => array(
        'outline' => array(
            'style' => PHPExcel_Style_Border::BORDER_THIN
        )
    ),
    'alignment' => array(
        'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_LEFT,
    )
) ;

$styleArray2 = array(
    'alignment' => array(
        //'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER,
        'vertical' => PHPExcel_Style_Alignment::VERTICAL_CENTER,
    )
) ;

$styleArrayRed = array(
'font'  => array(
    'color' => array('rgb' => 'FF0000'),
));

$count     = 1 ;
$firstChar = 'A' ;
$lastChar  = '';
 if (EXCELDETAIL == "YES"){ 
    $lastChar  = 'w' ;
}else{
    $lastChar  = 'U' ;
}

// title name
$objPHPExcel->getActiveSheet()->mergeCells( $firstChar.$count.':'.$lastChar.$count ) ;
$objPHPExcel->getActiveSheet()->getStyle( $firstChar.$count.':'.$lastChar.$count )->applyFromArray( $styleArrayTitle ) ;
$objPHPExcel->setActiveSheetIndex(0)->setCellValue( $firstChar.$count, 'Attendance Report' ) ;
$count++ ;

// loop all attendance record
$arr_att = array();
if ( $mysqli_page->num_rows > 0 ){
    while ( $att = $mysqli_page->fetch_assoc() ){
        $arr_att[] = $att;
    }
}

// sum all working hours
$total_all_list_work_day  = 0 ;
$total_all_list_ot_day    = 0 ;
$total_all_list_work      = [] ;
$total_all_list_rest      = [] ;
$total_all_list_time_off  = [] ;
$total_all_list_rest2     = [] ;
$total_all_list_time_off2 = [] ;
$total_all_list_early     = [] ;
$total_all_list_late      = [] ;
$total_all_list_early_out = [] ;
$total_all_list_ot_normal = [] ;
$total_all_work           = [] ;

if(arrayCheck($arr_att)){

    $all_staffid          = [] ;
    $all_date             = [] ;
    $all_attendances      = [] ;

    foreach($arr_att as $attendances){
        $all_staffid[]    = $attendances['staff_id'] ;
    }


    $mysqli_date          = $mysqli->query("SELECT * FROM staff_attendance_list a
                                            WHERE a.staff_id IN ( ".implode( ', ', $all_staffid )." ) AND a.list_date LIKE '%".$date_time."%' AND a.deleted_at IS NULL AND a.list_date BETWEEN '".$date_from." 00:00:00' and '".$date_to." 23:59:59' ORDER BY a.list_date ASC") ;
    if ( $mysqli_date->num_rows > 0 ){
        while ( $row_date = $mysqli_date->fetch_assoc() ){
            $all_date[$row_date['staff_id']][] = $row_date ;
        }
    }


    $time_attendances     = $mysqli->query("SELECT staff_id, list_id, record_from, latitude, longitude, created_at FROM staff_attendance
                                            WHERE deleted_at IS NULL AND staff_id IN ( ".implode( ', ', $all_staffid )." ) AND check_group LIKE '%".$date_time."%'  ORDER BY created_at ASC") ;
    if ( $time_attendances->num_rows > 0 ){
        while ( $row_attendances  = $time_attendances->fetch_assoc() ){
            $all_attendances[$row_attendances['staff_id']][] = $row_attendances ;
        }
    }

    foreach($arr_att as $attendances){
        $count++ ;
        $count++ ;

        $staff_idno    = ucwords($attendances['staff_idno']) ;

        $objPHPExcel->getActiveSheet()->getStyle($firstChar.$count)->applyFromArray( $styleArray ) ;
        $firstChar2    = $firstChar ;

        $mc1           = $firstChar2.$count;
        $objPHPExcel->setActiveSheetIndex(0)->setCellValue( $firstChar2.$count, 'ID: '.$staff_idno.'  Name: '.$attendances['staff_name'] ) ;
        $mc2           = $lastChar.$count ;
        $objPHPExcel->getActiveSheet()->mergeCells($mc1.':'.$mc2) ;
        $objPHPExcel->getActiveSheet()->getStyle($mc1.':'.$mc2)->applyFromArray( $styleArrayLeft ) ;
        $count++ ;

        $get_staffdate = $all_date[$attendances['staff_id']] ;
        if ( $get_staffdate != null && $get_staffdate != undefined && count($get_staffdate) > 0 ){

            // get all attendance time
            $attendances_list     = [] ;
            $get_staffattendances = $all_attendances[$attendances['staff_id']] ;
            if ( $get_staffattendances != null && $get_staffattendances != undefined && count($get_staffattendances) > 0 ){
                foreach ( $get_staffattendances as $row ){
                    $attendances_list[$row['list_id']][] = $row ;
                }
            }
           

            $firstChar2           = $firstChar ;
            $array_title          = [ 'Date', 'Day' ] ;
            for ( $a = 0 ; $a < 8 ; $a++ ){
                $array_title[]    = ( $a%2 == 0 ? 'In' : 'Out' ) ;
            }
            if ( EXCELDETAIL     == "YES" ){ 
                $array_title[]    = 'Work Day' ;
                $array_title[]    = 'OT Day' ;
            }
            $array_title[]        = 'Work' ;
            $array_title[]        = 'Rest 1' ;
            $array_title[]        = 'Time Off 1' ;
            $array_title[]        = 'Rest 2' ;
            $array_title[]        = 'Time Off 2' ;
            $array_title[]        = 'Early' ;
            $array_title[]        = 'Late' ;
            $array_title[]        = 'Early Out' ;
            $array_title[]        = 'OT' ;
            $array_title[]        = 'Remark' ;
            $array_title[]        = 'Work + OT' ;
            foreach ( $array_title as $kk => $vv ){
                $objPHPExcel->getActiveSheet()->getStyle($firstChar2.$count)->applyFromArray( $styleArray ) ;
                $objPHPExcel->setActiveSheetIndex(0)->setCellValue( $firstChar2.$count, $vv ) ;
                $firstChar2++ ;
            }
            $count++ ;

            // sum working hours
            $total_list_work_day  = 0 ;
            $total_list_ot_day    = 0 ;
            $total_list_work      = [] ;
            $total_list_rest      = [] ;
            $total_list_time_off  = [] ;
            $total_list_rest2     = [] ;
            $total_list_time_off2 = [] ;
            $total_list_early     = [] ;
            $total_list_late      = [] ;
            $total_list_early_out = [] ;
            $total_list_ot_normal = [] ;
            $total_work           = [] ;


            foreach ( $get_staffdate as $value ){

                $firstChar2       = $firstChar ;
                $newlistdate      = date($dateformat,strtotime($value['list_date']));

                $date             = date('w', strtotime($newlistdate)) ;
                $date             = $date_array[$date] ;
                $attendances_date = $attendances_list[$value['list_id']] ;

                $objPHPExcel->getActiveSheet()->getStyle($firstChar2.$count)->applyFromArray( $styleArray ) ;
                $objPHPExcel->setActiveSheetIndex(0)->setCellValue( $firstChar2.$count, $newlistdate ) ;
                $firstChar2++ ;
                $objPHPExcel->getActiveSheet()->getStyle($firstChar2.$count)->applyFromArray( $styleArray ) ;
                $objPHPExcel->setActiveSheetIndex(0)->setCellValue( $firstChar2.$count, $date ) ;
                $firstChar2++ ;


                for ( $a = 0 ; $a < 8 ; $a++ ){

                    $coordinates   = ( $attendances_date[$a]['latitude'] != '' && $attendances_date[$a]['longitude'] != '' ? $attendances_date[$a]['latitude'].','.$attendances_date[$a]['longitude'] : '' ) ;
                    $map_link      = 'https://maps.google.com/?q='.$coordinates ;

                    $current_time  = $attendances_date[$a]['created_at'] ;
                    $record_from   = $attendances_date[$a]['record_from'] ;

                    $record_from_w = '' ;
                    switch ( $record_from ){
                        case 'qrcode'  : $record_from_w = ' (Q)' ; break ;
                        case 'machine' : $record_from_w = ' (D)' ; break ;
                        case 'button'  : $record_from_w = ' (M)' ; break ;
                        case 'system'  : $record_from_w = ' (S)' ; break ;
                        case 'manual'  : $record_from_w = ' (S)' ; break ;
                    }

                    //$current_time = ( $current_time != '' ? resetTimeWithoutSec($current_time) : '' ) ;
                    $current_time  = ( $current_time != '' ? date('H:i:s', strtotime($current_time)).$record_from_w : '' ) ;

                    $objPHPExcel->getActiveSheet()->getStyle($firstChar2.$count)->applyFromArray( $styleArray ) ;
                    $objPHPExcel->setActiveSheetIndex(0)->setCellValue( $firstChar2.$count, $current_time ) ;

                    if ( $coordinates != '' ){
                        $objPHPExcel->setActiveSheetIndex(0)->getCell( $firstChar2.$count )->setDataType(PHPExcel_Cell_DataType::TYPE_STRING2) ;
                        $objPHPExcel->setActiveSheetIndex(0)->getCell( $firstChar2.$count )->getHyperlink()->setUrl(strip_tags( $map_link )) ;
                    }

                    $firstChar2++ ;
                }
                if (EXCELDETAIL == "YES"){
                    $objPHPExcel->getActiveSheet()->getStyle($firstChar2.$count)->applyFromArray( $styleArray ) ;
                    $objPHPExcel->setActiveSheetIndex(0)->setCellValue( $firstChar2.$count, resetTimeWithoutSec($value['list_work_day']) ) ;
                    $firstChar2++ ;
                    $objPHPExcel->getActiveSheet()->getStyle($firstChar2.$count)->applyFromArray( $styleArray ) ;
                    $objPHPExcel->setActiveSheetIndex(0)->setCellValue( $firstChar2.$count, resetTimeWithoutSec($value['list_ot_day']) ) ;
                    $firstChar2++ ;
                }                            
                $objPHPExcel->getActiveSheet()->getStyle($firstChar2.$count)->applyFromArray( $styleArray ) ;
                $objPHPExcel->getActiveSheet()->setCellValue( $firstChar2.$count, resetTimeWithoutSec($value['list_work']) ) ;
                $firstChar2++ ;

                $objPHPExcel->getActiveSheet()->getStyle($firstChar2.$count)->applyFromArray( $styleArray ) ;
                $objPHPExcel->setActiveSheetIndex(0)->setCellValue( $firstChar2.$count, resetTimeWithoutSec($value['list_rest']) ) ;
                $firstChar2++ ;
                $objPHPExcel->getActiveSheet()->getStyle($firstChar2.$count)->applyFromArray( $styleArray ) ;
                $objPHPExcel->setActiveSheetIndex(0)->setCellValue( $firstChar2.$count, resetTimeWithoutSec($value['list_time_off']) ) ;
                $firstChar2++ ;

                $objPHPExcel->getActiveSheet()->getStyle($firstChar2.$count)->applyFromArray( $styleArray ) ;
                $objPHPExcel->setActiveSheetIndex(0)->setCellValue( $firstChar2.$count, resetTimeWithoutSec($value['list_rest2']) ) ;
                $firstChar2++ ;
                $objPHPExcel->getActiveSheet()->getStyle($firstChar2.$count)->applyFromArray( $styleArray ) ;
                $objPHPExcel->setActiveSheetIndex(0)->setCellValue( $firstChar2.$count, resetTimeWithoutSec($value['list_time_off2']) ) ;
                $firstChar2++ ;

                $objPHPExcel->getActiveSheet()->getStyle($firstChar2.$count)->applyFromArray( $styleArray ) ;
                $objPHPExcel->setActiveSheetIndex(0)->setCellValue( $firstChar2.$count, resetTimeWithoutSec($value['list_early']) ) ;
                $firstChar2++ ;
                $objPHPExcel->getActiveSheet()->getStyle($firstChar2.$count)->applyFromArray( $styleArray ) ;
                $objPHPExcel->setActiveSheetIndex(0)->setCellValue( $firstChar2.$count, resetTimeWithoutSec($value['list_late']) ) ;
                $firstChar2++ ;
                $objPHPExcel->getActiveSheet()->getStyle($firstChar2.$count)->applyFromArray( $styleArray ) ;
                $objPHPExcel->setActiveSheetIndex(0)->setCellValue( $firstChar2.$count, resetTimeWithoutSec($value['list_early_out']) ) ;
                $firstChar2++ ;
                $objPHPExcel->getActiveSheet()->getStyle($firstChar2.$count)->applyFromArray( $styleArray ) ;
                $objPHPExcel->setActiveSheetIndex(0)->setCellValue( $firstChar2.$count, resetTimeWithoutSec($value['list_ot_normal']) ) ;
                $firstChar2++ ;
                $objPHPExcel->getActiveSheet()->getStyle($firstChar2.$count)->applyFromArray( $styleArray ) ;
                $objPHPExcel->setActiveSheetIndex(0)->setCellValue( $firstChar2.$count, $value['list_remark'] ) ;
                $firstChar2++ ;

                $time = $value['list_ot_normal'];
                $time2 = $value['list_work'];

                $secs = strtotime($time2)-strtotime("00:00:00");
                $result = date("H:i:s",strtotime($time)+$secs);

                $objPHPExcel->getActiveSheet()->getStyle($firstChar2.$count)->applyFromArray( $styleArray ) ;
                $objPHPExcel->setActiveSheetIndex(0)->setCellValue( $firstChar2.$count, resetTimeWithoutSec($result) ) ;


                $count++ ;

                // count total working hours
                $total_list_work_day     += $value['list_work_day'] ;
                $total_list_ot_day       += $value['list_ot_day'] ;
                $total_list_work          = setTotalHoursArray( $total_list_work, resetTimeWithoutSec($value['list_work']) ) ;

                $total_list_rest          = setTotalHoursArray( $total_list_rest, resetTimeWithoutSec($value['list_rest']) ) ;
                $total_list_time_off      = setTotalHoursArray( $total_list_time_off, resetTimeWithoutSec($value['list_time_off']) ) ;
                $total_list_rest2         = setTotalHoursArray( $total_list_rest2, resetTimeWithoutSec($value['list_rest2']) ) ;
                $total_list_time_off2     = setTotalHoursArray( $total_list_time_off2, resetTimeWithoutSec($value['list_time_off2']) ) ;

                $total_list_early         = setTotalHoursArray( $total_list_early, resetTimeWithoutSec($value['list_early']) ) ;
                $total_list_late          = setTotalHoursArray( $total_list_late, resetTimeWithoutSec($value['list_late']) ) ;
                $total_list_early_out     = setTotalHoursArray( $total_list_early_out, resetTimeWithoutSec($value['list_early_out']) ) ;
                $total_list_ot_normal     = setTotalHoursArray( $total_list_ot_normal, resetTimeWithoutSec($value['list_ot_normal']) ) ;

                $total_work               = setTotalHoursArray( $total_work, resetTimeWithoutSec($result) ) ;


                //calculate all
                $total_all_list_work      = setTotalHoursArray( $total_all_list_work,       resetTimeWithoutSec($value['list_work']) ) ;

                $total_all_list_rest      = setTotalHoursArray( $total_all_list_rest,       resetTimeWithoutSec($value['list_rest']) ) ;
                $total_all_list_time_off  = setTotalHoursArray( $total_all_list_time_off,   resetTimeWithoutSec($value['list_time_off']) ) ;
                $total_all_list_rest2     = setTotalHoursArray( $total_all_list_rest2,       resetTimeWithoutSec($value['list_rest2']) ) ;
                $total_all_list_time_off2 = setTotalHoursArray( $total_all_list_time_off2,   resetTimeWithoutSec($value['list_time_off2']) ) ;

                $total_all_list_early     = setTotalHoursArray( $total_all_list_early,      resetTimeWithoutSec($value['list_early']) ) ;
                $total_all_list_late      = setTotalHoursArray( $total_all_list_late,       resetTimeWithoutSec($value['list_late']) ) ;
                $total_all_list_early_out = setTotalHoursArray( $total_all_list_early_out,  resetTimeWithoutSec($value['list_early_out']) ) ;
                $total_all_list_ot_normal = setTotalHoursArray( $total_all_list_ot_normal,  resetTimeWithoutSec($value['list_ot_normal']) ) ;

                $total_all_work           = setTotalHoursArray( $total_all_work, resetTimeWithoutSec($result) ) ;

            }
           

            // column for total
            $firstChar2 = $firstChar ;
            $firstChar2++ ;
            $firstChar2++ ;
            $firstChar2++ ;
            $firstChar2++ ;
            $firstChar2++ ;
            $firstChar2++ ;
            $firstChar2++ ;
            $firstChar2++ ;
            $firstChar2++ ;

            $objPHPExcel->getActiveSheet()->getStyle($firstChar2.$count)->applyFromArray( $styleArray ) ;
            $objPHPExcel->setActiveSheetIndex(0)->setCellValue( $firstChar2.$count, 'Total' ) ;
            $firstChar2++ ;

            if (EXCELDETAIL == "YES"){
                $objPHPExcel->getActiveSheet()->getStyle($firstChar2.$count)->applyFromArray( $styleArray ) ;
                $objPHPExcel->setActiveSheetIndex(0)->setCellValue( $firstChar2.$count, $total_list_work_day ) ;
                $firstChar2++ ;

                $objPHPExcel->getActiveSheet()->getStyle($firstChar2.$count)->applyFromArray( $styleArray ) ;
                $objPHPExcel->setActiveSheetIndex(0)->setCellValue( $firstChar2.$count, $total_list_ot_day ) ;
                $firstChar2++ ;
            }

            $objPHPExcel->getActiveSheet()->getStyle($firstChar2.$count)->applyFromArray( $styleArray ) ;
            $objPHPExcel->setActiveSheetIndex(0)->setCellValue( $firstChar2.$count, setTotalHoursSum($total_list_work) ) ;
            $firstChar2++ ;

            $objPHPExcel->getActiveSheet()->getStyle($firstChar2.$count)->applyFromArray( $styleArray ) ;
            $objPHPExcel->setActiveSheetIndex(0)->setCellValue( $firstChar2.$count, setTotalHoursSum($total_list_rest) ) ;
            $firstChar2++ ;

            $objPHPExcel->getActiveSheet()->getStyle($firstChar2.$count)->applyFromArray( $styleArray ) ;
            $objPHPExcel->setActiveSheetIndex(0)->setCellValue( $firstChar2.$count, setTotalHoursSum($total_list_time_off) ) ;
            $firstChar2++ ;

            $objPHPExcel->getActiveSheet()->getStyle($firstChar2.$count)->applyFromArray( $styleArray ) ;
            $objPHPExcel->setActiveSheetIndex(0)->setCellValue( $firstChar2.$count, setTotalHoursSum($total_list_rest2) ) ;
            $firstChar2++ ;

            $objPHPExcel->getActiveSheet()->getStyle($firstChar2.$count)->applyFromArray( $styleArray ) ;
            $objPHPExcel->setActiveSheetIndex(0)->setCellValue( $firstChar2.$count, setTotalHoursSum($total_list_time_off2) ) ;
            $firstChar2++ ;

            $objPHPExcel->getActiveSheet()->getStyle($firstChar2.$count)->applyFromArray( $styleArray ) ;
            $objPHPExcel->setActiveSheetIndex(0)->setCellValue( $firstChar2.$count, setTotalHoursSum($total_list_early) ) ;
            $firstChar2++ ;

            $objPHPExcel->getActiveSheet()->getStyle($firstChar2.$count)->applyFromArray( $styleArray ) ;
            $objPHPExcel->setActiveSheetIndex(0)->setCellValue( $firstChar2.$count, setTotalHoursSum($total_list_late) ) ;
            $firstChar2++ ;

            $objPHPExcel->getActiveSheet()->getStyle($firstChar2.$count)->applyFromArray( $styleArray ) ;
            $objPHPExcel->setActiveSheetIndex(0)->setCellValue( $firstChar2.$count, setTotalHoursSum($total_list_early_out) ) ;
            $firstChar2++ ;

            $objPHPExcel->getActiveSheet()->getStyle($firstChar2.$count)->applyFromArray( $styleArray ) ;
            $objPHPExcel->setActiveSheetIndex(0)->setCellValue( $firstChar2.$count, setTotalHoursSum($total_list_ot_normal) ) ;
            $firstChar2++ ;

            $firstChar2++ ;
            $objPHPExcel->getActiveSheet()->getStyle($firstChar2.$count)->applyFromArray( $styleArray ) ;
            $objPHPExcel->setActiveSheetIndex(0)->setCellValue( $firstChar2.$count, setTotalHoursSum($total_work) ) ;

            $count++ ;

            $total_all_list_work_day += $total_list_work_day ;
            $total_all_list_ot_day   += $total_list_ot_day ;
           

        }

    }
}
$count++;
$firstChar2 = "J";
$objPHPExcel->getActiveSheet()->getStyle($firstChar2.++$count)->applyFromArray( $styleArray ) ;
$objPHPExcel->setActiveSheetIndex(0)->setCellValue( $firstChar2.$count, 'Total All' ) ;
$firstChar2++ ;

if (EXCELDETAIL == "YES"){
    $objPHPExcel->getActiveSheet()->getStyle($firstChar2.$count)->applyFromArray( $styleArray ) ;
    $objPHPExcel->setActiveSheetIndex(0)->setCellValue( $firstChar2.$count, $total_all_list_work_day ) ;
    $firstChar2++ ;

    $objPHPExcel->getActiveSheet()->getStyle($firstChar2.$count)->applyFromArray( $styleArray ) ;
    $objPHPExcel->setActiveSheetIndex(0)->setCellValue( $firstChar2.$count, $total_all_list_ot_day ) ;
    $firstChar2++ ;
}

$objPHPExcel->getActiveSheet()->getStyle($firstChar2.$count)->applyFromArray( $styleArray ) ;
$objPHPExcel->setActiveSheetIndex(0)->setCellValue( $firstChar2.$count, setTotalHoursSum($total_all_list_work) ) ;
$firstChar2++ ;

$objPHPExcel->getActiveSheet()->getStyle($firstChar2.$count)->applyFromArray( $styleArray ) ;
$objPHPExcel->setActiveSheetIndex(0)->setCellValue( $firstChar2.$count, setTotalHoursSum($total_all_list_rest) ) ;
$firstChar2++ ;

$objPHPExcel->getActiveSheet()->getStyle($firstChar2.$count)->applyFromArray( $styleArray ) ;
$objPHPExcel->setActiveSheetIndex(0)->setCellValue( $firstChar2.$count, setTotalHoursSum($total_all_list_time_off) ) ;
$firstChar2++ ;

$objPHPExcel->getActiveSheet()->getStyle($firstChar2.$count)->applyFromArray( $styleArray ) ;
$objPHPExcel->setActiveSheetIndex(0)->setCellValue( $firstChar2.$count, setTotalHoursSum($total_all_list_rest2) ) ;
$firstChar2++ ;

$objPHPExcel->getActiveSheet()->getStyle($firstChar2.$count)->applyFromArray( $styleArray ) ;
$objPHPExcel->setActiveSheetIndex(0)->setCellValue( $firstChar2.$count, setTotalHoursSum($total_all_list_time_off2) ) ;
$firstChar2++ ;

$objPHPExcel->getActiveSheet()->getStyle($firstChar2.$count)->applyFromArray( $styleArray ) ;
$objPHPExcel->setActiveSheetIndex(0)->setCellValue( $firstChar2.$count, setTotalHoursSum($total_all_list_early) ) ;
$firstChar2++ ;

$objPHPExcel->getActiveSheet()->getStyle($firstChar2.$count)->applyFromArray( $styleArray ) ;
$objPHPExcel->setActiveSheetIndex(0)->setCellValue( $firstChar2.$count, setTotalHoursSum($total_all_list_late) ) ;
$firstChar2++ ;

$objPHPExcel->getActiveSheet()->getStyle($firstChar2.$count)->applyFromArray( $styleArray ) ;
$objPHPExcel->setActiveSheetIndex(0)->setCellValue( $firstChar2.$count, setTotalHoursSum($total_all_list_early_out) ) ;
$firstChar2++ ;

$objPHPExcel->getActiveSheet()->getStyle($firstChar2.$count)->applyFromArray( $styleArray ) ;
$objPHPExcel->setActiveSheetIndex(0)->setCellValue( $firstChar2.$count, setTotalHoursSum($total_all_list_ot_normal) ) ;
$firstChar2++ ;
$firstChar2++ ;

$objPHPExcel->getActiveSheet()->getStyle($firstChar2.$count)->applyFromArray( $styleArray ) ;
$objPHPExcel->setActiveSheetIndex(0)->setCellValue( $firstChar2.$count, setTotalHoursSum($total_all_work) ) ;
$firstChar2++ ;

// Submission from
header( 'Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' ) ; 
header( 'Content-Disposition: attachment;filename="'.$page_filename.'.xls"' ) ;
header( 'Cache-Control: max-age=0' ) ;
// save to pc
$objWriter->save('php://output') ;
// header( "Refresh: 0" ) ;
exit ;
?>