Foros del Web » Programando para Internet » PHP »

Problemas al exportar excel, solo muestra simbolos

Estas en el tema de Problemas al exportar excel, solo muestra simbolos en el foro de PHP en Foros del Web. Buenos Dias, amigos Quisiera saber si alguien me puede ayudar o le ha sucedido lo mismo. estoy exportando los registros a excel desde PHP. al ...
  #1 (permalink)  
Antiguo 03/03/2020, 10:55
 
Fecha de Ingreso: agosto-2014
Ubicación: barranquilla
Mensajes: 86
Antigüedad: 5 años, 7 meses
Puntos: 0
Problemas al exportar excel, solo muestra simbolos

Buenos Dias, amigos

Quisiera saber si alguien me puede ayudar o le ha sucedido lo mismo. estoy exportando los registros a excel desde PHP. al momento de exportar muestra simbolos de basusa, caracteres extraños.

Ya he probado de varias formas y no consigo solucionar. lo he realizado de varias maneras. con la libreria PHPexcel, con la libreria PhpSpreadsheet, tambien lo intente sin libreria y muestra el mismo error. adujnto mi codigo PHP

Código PHP:
<?php 
include '../Developer/Config/config.php';
require(
'../PHPExcel/Classes/PHPExcel.php');

$db= new PDO(connstring,user,pass);
date_default_timezone_set("America/Bogota");


//variable de perfiles de usuarios para crear reportes
if(isset($_POST['idperfil'])){ $idperfil            $_POST['idperfil']; }
//variables para el emcabezado del informe
if(isset($_POST['CodigoReporte'])){   $CodigoReporte  $_POST['CodigoReporte']; }
if(isset(
$_POST['TituloReporte'])){   $TituloReporte  $_POST['TituloReporte']; }
if(isset(
$_POST['NombrePlantel'])){   $NombrePlantel  $_POST['NombrePlantel']; }
if(isset(
$_POST['FechaVersion'])){    $FechaVersion   $_POST['FechaVersion']; }
if(isset(
$_POST['VersionReporte'])){  $VersionReporte $_POST['VersionReporte']; }
if(isset(
$_POST['IdReporte'])){       $IdReporte      $_POST['IdReporte']; }
if(isset(
$_POST['EntidadR'])) {       $EntidadR       $_POST['EntidadR'];}
if(isset(
$_POST['PeriodoR'])) {       $PeriodoR       $_POST['PeriodoR'];}
if(isset(
$_POST['Opexportar'])) {     $Opexportar     $_POST['Opexportar'];}




  
///consulta de estudiantes inscripiciones ////
$sql $db->prepare("SELECT id_matricula,
                         id_inscripcion_programa_fk,
                         id_periodofk,
                         periodo,
                         fecha_matricula,
                         id_inscripcionfk,
                         nombre_estudiante,
                         apellido_estudiante,
                         identificacion_estudiante,
                         celular_estudiante,
                         email_estudiante,
                         id_financiafk,
                         nombre_financia,
                         total_carrera,
                         total_descuento,
                         total_pago
       FROM matricula m 
       INNER JOIN inscripcion_programa ip       ON m.id_inscripcion_programa_fk=ip.id_inscripcion_programa 
       INNER JOIN periodo p                     ON m.id_periodofk=p.id_periodo
       INNER JOIN inscripcion i                 ON ip.id_inscripcionfk=i.id_inscripcion
       INNER JOIN entidad_financia ef           ON ip.id_financiafk=ef.id_financia
       WHERE id_financiafk = :id_financia AND id_periodofk =:id_periodo"
);
       
       
$sql->bindValue(':id_financia'$EntidadRPDO::PARAM_INT);
       
$sql->bindValue(':id_periodo'$PeriodoRPDO::PARAM_INT);
       
$sql->execute();

      
///ciclo recorrer consulta
$objPHPExcel = new PHPExcel();



     
$y=1;
     
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('A'.$y,'No');
     
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('B'.$y,'IDENTIFICACION');
     
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('C'.$y,'APELLIDOS-NOMBRE');
    
// $objPHPExcel->setActiveSheetIndex(0)->setCellValue('D'.$y,'TIPO');
     
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('E'.$y,'ENTIDAD FINANCIERA');
     
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('F'.$y,'PERIODO');
     
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('G'.$y,'FECHA MATRICULA');
    for(
$x=1;$x<=10;$x++){    
    
$objPHPExcel->getActiveSheet()->getColumnDimensionByColumn($x)->setAutoSize(true);  
    }
 
   
$i 2$n=1;   
  while (
$fila $sql->fetch()){
       
    
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('A'.$i,$n);
    
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('B'.$i,$fila['identificacion_estudiante']);
    
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('C'.$i,$fila['nombre_estudiante']);
  
//  $objPHPExcel->setActiveSheetIndex(0)->setCellValue('D'.$i,$fila->tipo);
    
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('E'.$i,$fila['nombre_financia']);
    
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('F'.$i,$fila['periodo']);
    
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('G'.$i,$fila['fecha_matricula']);
 
      
$i++;
    
$n++;
      
   }
header("Content-Type: text/html;charset=utf-8");
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="equipos_asignados.xlsx"');
header('Cache-Control: max-age=0');

$objWriter=PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel2007');
$objWriter->save('php://output');
exit;


?>
  #2 (permalink)  
Antiguo 03/03/2020, 17:22
 
Fecha de Ingreso: abril-2006
Mensajes: 379
Antigüedad: 14 años
Puntos: 80
Respuesta: Problemas al exportar excel, solo muestra simbolos

los archivos XLSX no son mas que Archivos .ZIP que contienen varios archivos XML

si lo estas guardando en el OUTPUT supongo que tu php esta en modo consola

$objWriter->save('php://output');

por lo que mejor guardalo primero en un archivo con Extension .ZIP, si no logra descomprimirlo,entonces es que ese archivo fue corrompido ,por X motivo, por lo cual usa un editor de TEXTO como notepad++.y abrelo, y busca en su Interor las palabras
ERROR
WARNING

y vee si ay alguno eso te indicara si hubo un error al momento de crearse el archivo
__________________
Mis aportes te ayudaron??, te hicieron ahorrar valiosos tiempo??, si quieres puedes agradecerme con un Gracias o con una donacion
https://paypal.com/pools/c/8lmNLmWnG9
  #3 (permalink)  
Antiguo 09/03/2020, 10:54
 
Fecha de Ingreso: agosto-2014
Ubicación: barranquilla
Mensajes: 86
Antigüedad: 5 años, 7 meses
Puntos: 0
Respuesta: Problemas al exportar excel, solo muestra simbolos

Buenos dias.

Gracias por tu tiempo amigo, estuve realizando el proceso que me has comentado peo en realizad el resultado es igual. sigue saliendo el mismo problema. solo muestra simbolo por la caonsola y no exporta el documento de excel.

ALGUIEN QUE ME PUEDA AYUDAR CON ESTO!!!
  #4 (permalink)  
Antiguo 09/03/2020, 17:15
 
Fecha de Ingreso: abril-2006
Mensajes: 379
Antigüedad: 14 años
Puntos: 80
Respuesta: Problemas al exportar excel, solo muestra simbolos

Cita:
Iniciado por josegaitan123 Ver Mensaje
sigue saliendo el mismo problema. solo muestra simbolo por la caonsola y no exporta el documento de excel.

ALGUIEN QUE ME PUEDA AYUDAR CON ESTO!!!
por console le estas indicando con esta linea
$objWriter->save('php://output');

si quieres archivo

$objWriter->save('archivo.xlsx');
__________________
Mis aportes te ayudaron??, te hicieron ahorrar valiosos tiempo??, si quieres puedes agradecerme con un Gracias o con una donacion
https://paypal.com/pools/c/8lmNLmWnG9



La zona horaria es GMT -6. Ahora son las 11:01.