Hola a todos, estoy trabajando en la exportación de datos con php de mi BD a Excel, y no tengo problema en ello, más deseo en etre los datos exportados aparezca en el documento descargado unas celdas de color dependiendo de su valor (en este caso si el campo "festivo" de la tabla "entrada" vale "Si"). He intendo condicionarlo de distintas formas pero me arroja error de sintaxis y cosas así; lo que he conseguido es colorear dicha celda donde aparece el dato del campo pero indistintamente a que valor hay ahí... Pido por favor su ayuda pues poco he encontrado en la web y es solo saber condicionar esta parte, no crear un código nuevo de más de 600 líneas para mi porque sí. este es mi código que no se condicionar y gracias de antemano...
Código PHP:
Ver original<?php
include("seguridad.php");
include("conexion.php");
$proyecto=$_GET['proyecto'];
$nombre=$_GET['nombre'];
$sql= "SELECT personal.cedula, personal.nombre
FROM personal, entrada
WHERE personal.estado = 'Activo'
AND personal.cedula = entrada.empleado
AND entrada.proyecto = '".$proyecto."'
AND entrada.fecha BETWEEN '2015-03-14' AND '2015-03-30'
GROUP BY personal.cedula
ORDER BY personal.nombre ASC";
$i = 2; $k=1; $q=3;
//while($resul=mysql_fetch_array($cs)){
require_once 'Classes/PHPExcel.php';
$objPHPExcel = new PHPExcel();
function cellColor($cells,$color){
global $objPHPExcel;
$objPHPExcel->getActiveSheet()->getStyle($cells)->getFill('')
->applyFromArray(array('type' => PHPExcel_Style_Fill
::FILL_SOLID, 'startcolor' => array('rgb' => $color) ));
}
//Informacion del excel
$objPHPExcel->
getProperties()
->setCreator("XXX")
->setLastModifiedBy("XXX")
->setTitle("XXX")
->setSubject("XXX")
->setDescription("XXX")
->setKeywords("XXX")
->setCategory("XXX");
//$j = '0';
//$var=$resul[$j];
$var=$resul->cedula;
$var1=$resul->nombre;
$sql2= "select entrada.fecha, entrada.horario, entrada.salida, entrada.proyecto, entrada.festivo
from entrada
WHERE ".$var." = entrada.empleado
AND entrada.proyecto = '".$proyecto."'
AND entrada.fecha BETWEEN '2015-03-14' AND '2015-03-30'
ORDER BY entrada.fecha ASC";
//$registros = mysql_num_rows ($cs2);
//$registro = mysql_fetch_object ($cs2);
$l='B'; $h='B'; $n='C'; $m=1; $p= 'B';
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A'.$k, $var)
->setCellValue('B'.$k, $var1);
$h2= $h++; $n2= $n++; $l2= $l++; $p2= $p++;
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue($l.$k, $registro->fecha)
->setCellValue($h.$i, $registro->horario)
->setCellValue($n.$i, $registro->salida)
->setCellValue($p.$q, $registro->proyecto)
->setCellValue($n.$k, $registro->festivo);
cellColor($n.$k, '3A74E9');
$h++; $h2++; $n++; $n2++; $p++; $p2++; $l++; $l2++;
} $m++;
$j++; $k=$k+4; $i=$i+4; $q=$q+4;
}
header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="informeMIP.xls"'); header('Cache-Control: max-age=0');
$objWriter=PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel2007');
$objWriter->save('php://output');
?>