Ver Mensaje Individual
  #3 (permalink)  
Antiguo 30/10/2013, 16:18
cesar090
 
Fecha de Ingreso: octubre-2013
Mensajes: 12
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: PHPExcel cambiar color de celdas

Cita:
Iniciado por SkAr88 Ver Mensaje
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 ();
?>