Foros del Web » Programando para Internet » PHP »

problema con clase PhpExcel

Estas en el tema de problema con clase PhpExcel en el foro de PHP en Foros del Web. tengo que exportar a excel ya tengo caso todo el 95%, hace la consulta exporta bien los registros me guarda el archivo y me da ...
  #1 (permalink)  
Antiguo 14/01/2011, 08:54
 
Fecha de Ingreso: julio-2010
Mensajes: 91
Antigüedad: 13 años, 8 meses
Puntos: 1
problema con clase PhpExcel

tengo que exportar a excel ya tengo caso todo el 95%, hace la consulta exporta bien los registros me guarda el archivo y me da la opcion de que el usuario lo guarde, pero tengo un problema y es q no se como manejar los de la creacion de hojas, por ejemplo esto tiene 10 registros tiene como 25 columnas y me esta creando casi el mismo numero de hojas. El codigo es el siguiente:

Código PHP:
<?php ini_set("memory_limit","3000M");
$base"Consultas";
$db mysql_connect("127.0.0.1""root""");
mysql_select_db($base,$db);

date_default_timezone_set("America/Bogota");
$fecha date ("Y-m-d");    
if( 
$_POST['usuario'] != '' $usuario=$_POST['usuario'];
else 
$usuario=$_GET['usuario'];
if( 
$_POST['fechaini'] != '' $fechaini=$_POST['fechaini'];
else 
$fechaini=$_GET['fechaini'];
if( 
$_POST['fechafin'] != '' $fechafin=$_POST['fechafin'];
else 
$fechafin=$_GET['fechafin'];

    
    
$nomArc "reporte/".$usuario."-".$fecha.".xlsx";
    
    if( !
file_exists$nomArc ) ) 
    {
        
$sql "select * from consultas.consultas 
                    where usuario = '$usuario' 
                    order by consecutivo desc"
;
        
$rs mysql_query($sql,$db);
        
        
//$j = 0;
        
        
error_reporting(E_ALL);
        
ini_set('include_path'ini_get('include_path').';../Classes/');
        include 
'PHPExcel.php';
        include 
'PHPExcel/Writer/Excel2007.php';
        
$objPHPExcel = new PHPExcel();
        
$objPHPExcel->getProperties()->setCreator("Paty");
        
$objPHPExcel->getProperties()->setLastModifiedBy("Paty");
            
        while( 
$row mysql_fetch_array$rs ) )
        {
            
$sql "select * from consultas.consultas 
                    where usuario = '$usuario' and date(fecha_solicitud) between '$fechaini' and '$fechafin' 
                    order by consecutivo desc "
;
            
$rs2 mysql_query($sql,$db);
            
            
            if( 
mysql_num_rows$rs2 ) > )            
            {
                
$j=0;
                
$objPHPExcel->createSheet();
                
$objPHPExcel->setActiveSheetIndex($j);
                
//$objPHPExcel->setActiveSheetIndex(0);
                
$objPHPExcel->getActiveSheet()->SetCellValue('A1''CAmp1');
                
$objPHPExcel->getActiveSheet()->SetCellValue('B1''CAmp2');
                
$objPHPExcel->getActiveSheet()->SetCellValue('C1''CAmp3');
                
$objPHPExcel->getActiveSheet()->SetCellValue('D1''CAmp4');
                
$objPHPExcel->getActiveSheet()->SetCellValue('E1''CAmp5');
                
$objPHPExcel->getActiveSheet()->SetCellValue('F1''CAmp6');
                
$objPHPExcel->getActiveSheet()->SetCellValue('G1''CAmp7');
                
$objPHPExcel->getActiveSheet()->SetCellValue('H1''CAmp8');
                
$objPHPExcel->getActiveSheet()->SetCellValue('I1''CAmp9');
                
$objPHPExcel->getActiveSheet()->SetCellValue('J1''CAmp10');
                
$objPHPExcel->getActiveSheet()->SetCellValue('K1''CAmp11');
                
$objPHPExcel->getActiveSheet()->SetCellValue('L1''CAmp12');
                
$objPHPExcel->getActiveSheet()->SetCellValue('M1''CAmp13');
                
$objPHPExcel->getActiveSheet()->SetCellValue('N1''CAmp14');
                
$objPHPExcel->getActiveSheet()->SetCellValue('O1''CAmp15');
                
$objPHPExcel->getActiveSheet()->SetCellValue('P1''CAmp16');
                
$objPHPExcel->getActiveSheet()->SetCellValue('Q1''CAmp17');
                
$objPHPExcel->getActiveSheet()->SetCellValue('R1''CAmp18');
                
$objPHPExcel->getActiveSheet()->SetCellValue('S1''CAmp19');
                
$objPHPExcel->getActiveSheet()->SetCellValue('T1''CAmp20');
                
$objPHPExcel->getActiveSheet()->SetCellValue('U1''CAmp21');
                
$objPHPExcel->getActiveSheet()->SetCellValue('V1''CAmp22');
                
$objPHPExcel->getActiveSheet()->SetCellValue('W1''CAmp23');
                
$objPHPExcel->getActiveSheet()->SetCellValue('X1''CAmp24');
                
$objPHPExcel->getActiveSheet()->SetCellValue('Y1''CAmp25');
                
$j++;
                
$i 2;
                while( 
$row2 mysql_fetch_array$rs2 ) )
                {
                    
$objPHPExcel->getActiveSheet()->SetCellValue('A'.$i$row2[0]);
                    
$objPHPExcel->getActiveSheet()->SetCellValue('B'.$i$row2[1]);
                    
$objPHPExcel->getActiveSheet()->SetCellValue('C'.$i$row2[2]);
                    
$objPHPExcel->getActiveSheet()->SetCellValue('D'.$i$row2[3]);
                    
$objPHPExcel->getActiveSheet()->SetCellValue('E'.$i$row2[4]);
                    
$objPHPExcel->getActiveSheet()->SetCellValue('F'.$i$row2[5]);
                    
$objPHPExcel->getActiveSheet()->SetCellValue('G'.$i$row2[6]);
                    
$objPHPExcel->getActiveSheet()->SetCellValue('H'.$i$row2[7]);
                    
$objPHPExcel->getActiveSheet()->SetCellValue('I'.$i$row2[8]);
                    
$objPHPExcel->getActiveSheet()->SetCellValue('J'.$i$row2[9]);
                    
$objPHPExcel->getActiveSheet()->SetCellValue('K'.$i$row2[10]);
                    
$objPHPExcel->getActiveSheet()->SetCellValue('L'.$i$row2[11]);
                    
$objPHPExcel->getActiveSheet()->SetCellValue('M'.$i$row2[12]);
                    
$objPHPExcel->getActiveSheet()->SetCellValue('N'.$i$row2[13]);
                    
$objPHPExcel->getActiveSheet()->SetCellValue('O'.$i$row2[14]);
                    
$objPHPExcel->getActiveSheet()->SetCellValue('P'.$i$row2[15]);
                    
$objPHPExcel->getActiveSheet()->SetCellValue('Q'.$i$row2[16]);
                    
$objPHPExcel->getActiveSheet()->SetCellValue('R'.$i$row2[17]);
                    
$objPHPExcel->getActiveSheet()->SetCellValue('S'.$i$row2[18]);
                    
$objPHPExcel->getActiveSheet()->SetCellValue('T'.$i$row2[19]);
                    
$objPHPExcel->getActiveSheet()->SetCellValue('U'.$i$row2[20]);
                    
$objPHPExcel->getActiveSheet()->SetCellValue('V'.$i$row2[21]);
                    
$objPHPExcel->getActiveSheet()->SetCellValue('W'.$i$row2[22]);
                    
$objPHPExcel->getActiveSheet()->SetCellValue('X'.$i$row2[23]);
                    
$objPHPExcel->getActiveSheet()->SetCellValue('Y'.$i$row2[24]);
                    
$i++;
                }
                
$objPHPExcel->getActiveSheet()->setTitle('Reporte');
            }
        }

        
$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);
        
$objWriter->save$nomArc ); //GUARDA EL ARCHIVO EN LA RUTA INDICADA EN CODIGO
    
}

    elseif( 
file_exists$nomArc ) ) echo "El reporte para ".$usuario.", ya fue realizado el dia de hoy. Por favor verifique.\n";    

//OBLIGA A VENTANA GUARDAR
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="'.$nomArc.'"'); //NOMBRE PARA LA OPCION GUARDAR
header('Cache-Control: max-age=0');
$objWriter PHPExcel_IOFactory::createWriter($objPHPExcel'Excel2007');
$objWriter->save('php://output');//PARA SALIR DIRECTAMENTE EN EL BROWSER

Etiquetas: clase, phpexcel
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:49.