<?php
/** Incluir la libreria PHPExcel */
require_once 'excel/PHPExcel.php';
include "../DMMYSQLG.php";

$n_emp = ($_GET['n_emp']);
$fecha = ($_GET['fecha']);
$fecha2 = ($_GET['fecha2']);
$tipo = ($_GET['tipo']);

date_default_timezone_set('America/Mexico_City');

// Crea un nuevo objeto PHPExcel
$objPHPExcel = new PHPExcel();

// Establecer propiedades
$objPHPExcel->getProperties()
->setCreator("Rodo")
->setLastModifiedBy("Rodo")
->setTitle("Reporte de Asistencias")
->setSubject("Reporte")
->setDescription("Reporte sobre horario de entrada/salida de empleados")
->setKeywords("")
->setCategory("");

// Propiedades Celda
$objPHPExcel->getDefaultStyle()->getFont()->setName('Arial');
$objPHPExcel->getDefaultStyle()->getFont()->setSize(12);  
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setAutoSize(true);
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setAutoSize(true);
$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setAutoSize(true);
$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setAutoSize(true);
$objPHPExcel->getActiveSheet()->getRowDimension('1')->setRowHeight(20);  

 $style = array(
        'alignment' => array(
            'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER,
        )
    );

    $objPHPExcel->getDefaultStyle()->applyFromArray($style);
 
// Agregar Informacion
// Cabecera

$f=3;

$objPHPExcel->setActiveSheetIndex(0)
    ->setCellValueByColumnAndRow(0, 1, "Asistencias de Empleados")
    ->mergeCells('A1:E1')
    ->setCellValueByColumnAndRow(0, 2, date('d-m-Y'))
    ->mergeCells('A2:E2')
        
    ->setCellValue('A'.$f, "Num Empleado")
    ->setCellValue('B'.$f, "Nombre")
    ->setCellValue('C'.$f, "Hora")
    ->setCellValue('D'.$f, "Fecha")
    ->setCellValue('E'.$f, "Tipo");

// Consulta
if($fecha != "" && $fecha2 != ""){
    $where = "reg_empleado.num_empleado like '$n_emp%'"
    . " and (fecha>= '$fecha' and fecha<='$fecha2') and tipo like '$tipo%'";
}
else{
    $where = "reg_empleado.num_empleado like '$n_emp%' and fecha like '$fecha%' and tipo like '$tipo%'";
}

$empleados = mysqli_query($con ,"select reg_empleado.*,empleado.nombre from reg_empleado "
                . "left join empleado on empleado.num_empleado=reg_empleado.num_empleado where " . $where. "order by id");

while($row=  mysqli_fetch_array($empleados)){
    $f++;
    
    $objPHPExcel->setActiveSheetIndex(0)
        ->setCellValue('A'.$f, $row['num_empleado'])
         ->setCellValue('B'.$f, $row['nombre'])
        ->setCellValue('C'.$f, $row['hora'])
        ->setCellValue('D'.$f, $row['fecha'])
        ->setCellValue('E'.$f, $row['tipo']);
}   

//$objPHPExcel->getActiveSheet();
//for ($i = 10; $i <= 20; $i++) { 
//    $objPHPExcel->getActiveSheet()->setCellValue('A' . $i, "FName $i"); 
//    $objPHPExcel->getActiveSheet()->setCellValue('B' . $i, "LName $i"); 
//    $objPHPExcel->getActiveSheet()->setCellValue('C' . $i, "PhoneNo $i"); 
//    $objPHPExcel->getActiveSheet()->setCellValue('D' . $i, "FaxNo $i"); 
//}       
//->setCellValue('A1', 'Valor 1')	
//->setCellValueByColumnAndRow(0, 5, 'Rodo');


// Renombrar Hoja
$objPHPExcel->getActiveSheet()->setTitle('Asistencias de Empleados');

// Establecer la hoja activa, para que cuando se abra el documento se muestre primero.
$objPHPExcel->setActiveSheetIndex(0);

// Se modifican los encabezados del HTTP para indicar que se envia un archivo de Excel.
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="Reporte.xlsx"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
$objWriter->save('php://output');
exit;  
?>