• Publicidad

Importar fechas Excel

¿Apenas comienzas con Perl? En este foro podrás encontrar y hacer preguntas básicas de Perl con respuestas aptas a tu nivel.

Importar fechas Excel

Notapor abelhh » 2009-09-29 06:56 @330

Buenas tardes a todos.

Estoy importando un archivo Excel desde Perl y el problema surge con las fechas.

Al importar la fecha 01/11/2006 0:00:00, en Perl se almacena el valor (o por lo menos a lo que he llegado yo, claro) 39022.

El problema es que yo necesito escribir en un fichero de salida esa fecha en formato DD/MM/AAAA HH MM. ¿Alguna idea de cómo transformar ese 39022 al formato original de Excel?

Muchas gracias
abelhh
Perlero nuevo
Perlero nuevo
 
Mensajes: 1
Registrado: 2009-09-29 06:47 @324

Publicidad

Re: Importar fechas Excel

Notapor explorer » 2009-09-29 07:06 @337

Bienvenido a los foros de Perl en Español, abelhh.

Ese número sí que es el formato original de Excel. Excel guarda las fechas como días que han pasado desde 1900.

Puedes hacer dos cosas (como mínimo): o le pides a Spreadsheet::ParseExcel que, con la función ValFmt() te dé la fecha según aparece en la celda, o usas el módulo DateTime::Format::Excel para hacer la conversión:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
use DateTime::Format::Excel;

my $excel = DateTime::Format::Excel->new();
print $excel->parse_datetime( 39022 )->ymd;
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


Si usas el primer módulo, desde luego es más cómodo usar ValFmt().
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Básico

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 14 invitados