PHP - Spreadsheet_Excel_Reader campo fecha

 
Vista:
sin imagen de perfil
Val: 58
Ha aumentado su posición en 2 puestos en PHP (en relación al último mes)
Gráfica de PHP

Spreadsheet_Excel_Reader campo fecha

Publicado por Marta (39 intervenciones) el 04/07/2022 13:00:36
Buenas, necesito obtener la información de un Excel, y tengo problemas con el campo fecha, que me devuelve 1717/00/22222222, cuando la celda contiene 16/6/2022.
Creo que lo he probado todo, y sigo sin poder acceder a ella:
$dia = @$dataV->sheets[0]['cells'][$j][2]->getNumberFormat()->setFormatCode( 'dd/mm/yyyy');

Alguien sabe como formatear el campo?

1
2
3
4
5
$data = new Spreadsheet_Excel_Reader();
    $data->setOutputEncoding('CP1251');
    $data->read("../temp/excelF.xls");
    for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) {
        echo "fecha: ".$dia = @$data->sheets[0]['cells'][$i][2];  //i=línea; 2=columna

Gracias!!!
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
sin imagen de perfil
Val: 58
Ha aumentado su posición en 2 puestos en PHP (en relación al último mes)
Gráfica de PHP

Spreadsheet_Excel_Reader campo fecha

Publicado por Marta (39 intervenciones) el 05/07/2022 00:37:03
Buenas, he deciddo cambiar Spreadsheet_Excel_Reader, por PHPExcel.
Ahora la celda con campo fecha me devuelve 44728, que tendría que convertir a 16/06/2022. He encontrado esta manera: no existe otra más simple?

1
2
3
4
5
6
$dia =  $sheet->getCell("B".$row)->getValue();
                        $excelTS = $dia + +0.193056;
                        $unixDT = ($excelTS - 25569) * 86400;
                        $gmtDate= gmdate("d-m-Y H:i:s", $unixDT);
                        $mDate = new DateTime($gmtDate);
                        $dia = $mDate->format("d/m/Y");

Gracias. Marta
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
Imágen de perfil de Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Spreadsheet_Excel_Reader campo fecha

Publicado por Mauro (1036 intervenciones) el 25/07/2022 23:02:27
Hola Marta:

Hace un tiempo me topé con un problema similar y escribí este artículo con mi experiencia.

Básicamente, se trata de usar un objeto de tipo \PhpOffice\PhpSpreadsheet\Shared\Date::excelToDateTimeObject para leer las fechas. Tiene que ver con cómo se almacenan las fechas en Excel.

Saludos,
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