Cita:
Iniciado por SkAr88 Mira esto
[url]http://stackoverflow.com/questions/7164787/phpexcel-coloring-the-cells[/url]
Gracias por contestar, ya intente implementarlo pero me marca error no se si me podrías ayudar este es mi código completo:
Código PHP:
<?php
/* Ejemplo 1 generando excel desde mysql con PHP
@Autor: Carlos Hernan Aguilar Hurtado
*/
$conexion = mysql_connect ("localhost", "root", "sa123");
mysql_select_db ("view_am_as_se", $conexion);
$sql = "SELECT * FROM get_tabla ";
mysql_set_charset('utf8', $conexion);
$resultado = mysql_query ($sql, $conexion) or die (mysql_error ());
$registros = mysql_num_rows ($resultado);
if ($registros > 0) {
require_once 'Classes/PHPExcel.php';
$objPHPExcel = new PHPExcel();
//Informacion del excel
$objPHPExcel->
getProperties()
->setCreator("ingenieroweb.com.co")
->setLastModifiedBy("ingenieroweb.com.co")
->setTitle("Exportar excel desde mysql")
->setSubject("Ejemplo 1")
->setDescription("Documento generado con PHPExcel")
->setKeywords("ingenieroweb.com.co con phpexcel")
->setCategory("CIs");
$tituloReporte = "ID";
$tituloReporte1 = "Name";
$tituloReporte2 = "Brief Description";
$tituloReporte3 = "Nature";
$tituloReporte4 = "Model";
$tituloReporte5 = "Serial No.";
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A1',$tituloReporte)->setAutoFilter($objPHPExcel->getActiveSheet()->calculateWorksheetDimension())
->setCellValue('B1', $tituloReporte1)->setAutoFilter($objPHPExcel->getActiveSheet()->calculateWorksheetDimension())
->setCellValue('C1', $tituloReporte2)->setAutoFilter($objPHPExcel->getActiveSheet()->calculateWorksheetDimension())
->setCellValue('D1', $tituloReporte3)->setAutoFilter($objPHPExcel->getActiveSheet()->calculateWorksheetDimension())
->setCellValue('E1', $tituloReporte4)->setAutoFilter($objPHPExcel->getActiveSheet()->calculateWorksheetDimension())
->setCellValue('F1', $tituloReporte5)->setAutoFilter($objPHPExcel->getActiveSheet()->calculateWorksheetDimension())
->setCellValue('G1', $tituloReporte6)->setAutoFilter($objPHPExcel->getActiveSheet()->calculateWorksheetDimension())
;
$i = 2;
while ($registro = mysql_fetch_object ($resultado)) {
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A'.$i, $registro->asset_id)
->setCellValue('B'.$i, $registro->name)
->setCellValue('C'.$i, $registro->brief_desc)
->setCellValue('D'.$i, $registro->nature)
->setCellValue('E'.$i, $registro->model)
->setCellValue('F'.$i, $registro->serial_no)
;
$i++;
}
function cellColor($cells,$color){
global $objPHPExcel;
$objPHPExcel->getActiveSheet()->getStyle($cells)->getFill('')
->applyFromArray(array('type' => PHPExcel_Style_Fill::FILL_SOLID,
'startcolor' => array('rgb' => $color)
));
}
cellColor('A1', 'F28A8C');
//Nuevo Codigo
$registro = ($registro + 1) % 2;
if($registro == 1)
{
$style_header = array(
'fill' => array(
'type' => PHPExcel_Style_Fill::FILL_SOLID,
'color' => array('rgb'=>'CCC'),
),
'font' => array(
'bold' => true,
)
);
$sheet->getStyle($row)->applyFromArray( $style_header );
}
$sheet->getCellByColumnAndRow(0, $row)->setValue($item['qty']);
$sheet->getCellByColumnAndRow(1, $row)->setValueExplicit($item['name']);
$sheet->getCellByColumnAndRow(2, $row)->setValueExplicit($item['size']);
$sheet->getCellByColumnAndRow(3, $row)->setValueExplicit($item['color']);
$objPHPExcel->getActiveSheet()->setTitle('Prueba');
// Se activa la hoja para que sea la que se muestre cuando el archivo se abre
$objPHPExcel->setActiveSheetIndex(0);
// Inmovilizar paneles
//$objPHPExcel->getActiveSheet(0)->freezePane('A4');
$objPHPExcel->getActiveSheet(0)->freezePaneByColumnAndRow(0,2);
}
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="ejemplo1.xlsx"');
header('Cache-Control: max-age=0');
$objWriter=PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel2007');
$objWriter->save('php://output');
exit;
mysql_close ();
?>