Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/03/2014, 14:54
JorgeQuirino
 
Fecha de Ingreso: enero-2014
Mensajes: 111
Antigüedad: 10 años, 10 meses
Puntos: 1
Automatizar codigo phpExcel

Necesito que el codigo me imprima los datos un poco mas rapido, actualmente se demora serca de 1 min 30seg
este es mi codigo

Código PHP:
Ver original
  1. <?php
  2. $conexion = mysql_connect("localhost","root","");
  3. mysql_select_db ("perfilados",$conexion);
  4.  
  5. $sql="select * from pvigente";
  6. $resultado = mysql_query ($sql,$conexion)or die (mysql_error());
  7. $registros = mysql_num_rows ($resultado);
  8.  
  9. if ($registros >0){
  10. require_once 'Classes/PHPExcel.php';
  11. $objPHPExcel = new PHPExcel();
  12. $i =3;
  13.  
  14. while($registro = mysql_fetch_object ($resultado)){
  15.     $objPHPExcel->setActiveSheetIndex(0)
  16.         ->setCellValue('A'.$i,$registro->id_empresa)
  17.         ->setCellValue('B'.$i,$registro->nom_fantasia)
  18.         ->setCellValue('c'.$i,$registro->codtra)
  19.         ->setCellValue('d'.$i,$registro->cod_user_bbva)
  20.         ->setCellValue('e'.$i,$registro->rut)
  21.         ->setCellValue('f'.$i,$registro->nombre)
  22.         ->setCellValue('g'.$i,$registro->id_cargo_funcional);
  23.     $i++;
  24.     }
  25.     $objPHPExcel->getActiveSheet()->setCellValue('A1','PLANTILLA DE RR.HH');
  26.     $objPHPExcel->getActiveSheet()->setCellValue('A3','Id_Empresa');
  27.     $objPHPExcel->getActiveSheet()->setCellValue('B3','Nom_Fantasia (Empresa)');
  28.     $objPHPExcel->getActiveSheet()->setCellValue('C3','codtra');
  29.     $objPHPExcel->getActiveSheet()->setCellValue('D3','Cod_user_bbva(CodUsuario)');
  30.     $objPHPExcel->getActiveSheet()->setCellValue('e3','RUT');
  31.     $objPHPExcel->getActiveSheet()->setCellValue('f3','Nombre');
  32.     $objPHPExcel->getActiveSheet()->setCellValue('g3','Id_cargo_Funcional(Grupo RR.HH)');  
  33.  
  34.     $miestilo= array(
  35.         'font' => array(
  36.             'bold' => true,
  37.             'color' => array(
  38.             'rgb' => 'fffff'
  39.             )
  40.         ),
  41.         'fill' => array(
  42.             'type' => PHPExcel_Style_Fill::FILL_SOLID,
  43.             'startcolor' => array(
  44.             'rgb' => '333399'
  45.             )        )    );
  46.     $objPHPExcel->getActiveSheet()->getStyle("A1:g1")->applyFromArray($miestilo);
  47.     $objPHPExcel->getActiveSheet()->getStyle("A3:g3")->applyFromArray($miestilo);
  48.     $objPHPExcel->getActiveSheet()->getColumnDimension('g')->setAutoSize(true);
  49.     $objPHPExcel->getActiveSheet()->getStyle('A1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
  50.     $objPHPExcel->getActiveSheet()->MergeCells('A1:G1');
  51.     $objPHPExcel->getActiveSheet()->getColumnDimension('b')->setWidth(28); 
  52.     $objPHPExcel->getActiveSheet()->getColumnDimension('c')->setWidth(7);  
  53.     $objPHPExcel->getActiveSheet()->getColumnDimension('d')->setWidth(26);
  54.     $objPHPExcel->getActiveSheet()->getColumnDimension('f')->setWidth(40); 
  55.     $objPHPExcel->getActiveSheet()->getColumnDimension('e')->setWidth(12); 
  56.     }
  57. $objPHPExcel->getActiveSheet(0)->setTitle('RR.HH(Pvigente)');
  58. $sql1="select usuarios,nombreusuario,grupo,nombregrupo from resultados";
  59. $resultado1 = mysql_query ($sql1,$conexion)or die (mysql_error());
  60. $registros1 = mysql_num_rows ($resultado1);
  61. $objPHPExcel2 = $objPHPExcel->createSheet();
  62.  
  63. if ($registros1 >0){
  64. require_once 'Classes/PHPExcel.php';
  65. $i =4;
  66. while($registros1 = mysql_fetch_object ($resultado1)){
  67.         $objPHPExcel->setActiveSheetIndex(1)
  68.         ->setCellValue('A'.$i,$registros1->usuarios)
  69.         ->SetCellValue('B'.$i,$registros1->nombreusuario)
  70.         ->SetCellValue('c'.$i,$registros1->grupo)
  71.         ->SetCellValue('d'.$i,$registros1->nombregrupo);           
  72.     $i++;
  73.     }
  74.     $objPHPExcel2->setCellValue('a1','Plantilla de Racf');
  75.     $objPHPExcel2->setCellValue('A3','Usuarios');
  76.     $objPHPExcel2->setCellValue('B3','Nombre Usuario');
  77.     $objPHPExcel2->setCellValue('C3','Grupo');
  78.     $objPHPExcel2->setCellValue('d3','Nombre Grupo');
  79.            
  80.     $miestilo= array(
  81.         'font' => array(
  82.             'bold' => true,
  83.             'color' => array(
  84.                 'rgb' => 'fffff'
  85.             )
  86.         ),
  87.         'fill' => array(
  88.             'type' => PHPExcel_Style_Fill::FILL_SOLID,
  89.             'startcolor' => array(
  90.                 'rgb' => '333399'
  91.             )     )   );
  92.     $objPHPExcel->getActiveSheet()->getStyle("A1:d1")->applyFromArray($miestilo);
  93.     $objPHPExcel->getActiveSheet()->getStyle("A3:d3")->applyFromArray($miestilo);
  94.     $objPHPExcel->getActiveSheet()->getColumnDimension('a')->setAutoSize(true);
  95.     $objPHPExcel->getActiveSheet()->getColumnDimension('b')->setAutoSize(true);
  96.     $objPHPExcel->getActiveSheet()->getColumnDimension('c')->setAutoSize(true);
  97.     $objPHPExcel->getActiveSheet()->getColumnDimension('d')->setAutoSize(true);
  98.     $objPHPExcel->getActiveSheet()->getStyle('A1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
  99.     $objPHPExcel->getActiveSheet()->MergeCells('A1:D1');
  100.     }