PHP - Problema con acentos y eñes al convertir un .xlsx a .csv con PHPExcel

 
Vista:

Problema con acentos y eñes al convertir un .xlsx a .csv con PHPExcel

Publicado por franti (1 intervención) el 23/05/2019 20:30:04
Buenas tardes,

Tengo un código con el que paso un excel en formato .xlsx a .csv y me esta dando problemas ya que por ejemplo, cuando escribe en el .csv la palabra "compañia" lo hace de esta manera "compañia" y me desordena todo ya que ";" es el delimitador. En el .xlsx aparecen los acentos y ñ correctamente, es a la hora de escribir en el .csv... he probado diferentes maneras de solucionar lo de los caracteres especiales pero no lo consigo.

Este es el código:

1
2
3
4
5
6
7
8
9
10
11
12
<?php
header("Content-Type:   application/vnd.ms-excel; charset=utf-8");
 
require_once 'Classes/PHPExcel/IOFactory.php';
 
$excel = PHPExcel_IOFactory::load("tarifa.xlsx");
 
$writer = PHPExcel_IOFactory::createWriter($excel, 'CSV');
$writer->setDelimiter(";");
$writer->setEnclosure("");
$writer->save("test123.csv");
?>


Alguien que me ayude a solucionarlo?

Gracias de antemano.

Saludos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Mauro
Val: 1.636
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Problema con acentos y eñes al convertir un .xlsx a .csv con PHPExcel

Publicado por Mauro (454 intervenciones) el 24/05/2019 15:04:13
Veo un par de cosas:

1. Estás usando una versión vieja de la librería (Fíjate que PHPExcel cambió por PhpSpreadsheet)
2. No usas composer... ¿por qué no usas composer?
3. La llamada header("Content-Type: application/vnd.ms-excel; charset=utf-8"); no afecta en nada cómo se está escribiendo el archivo .csv (eso lo maneja internamente el writer
4. ¿Estás seguro de que en el archivo de origen no está escrito como HTML?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar