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', $EntidadR, PDO::PARAM_INT);
$sql->bindValue(':id_periodo', $PeriodoR, PDO::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;
?>