Comment convertir MS excel date de flotteur de format de date en Ruby?

Tentative d'analyser et XLSX fichier à l'aide de roo joyau dans un script ruby.

Dans excel dates sont stockées comme des flotteurs ou des entiers dans le format DDDDD.ttttt, à compter de 1900-01-00 (00 no 01). Afin de convertir une date comme 40396 - vous prendre 1900-01-00 + 40396 et vous devriez obtenir 2010-10-15, mais je suis 2010-08-08.

Je suis en utilisant active_support/temps de faire le calcul comme suit:

Time.new("1900-01-01") + 40396.days

Je fais mon calcul de mal ou il y a un bug dans le soutien actif?

Je suis à court de ruby 1.9.3-irm sur Windows 7 + dernière active_support gem (3.2.1)

MODIFIER

Je regardais de l'ancien fichier dans Excel avec les données erronées - mon script /console tiraient le droit des données - d'où ma confusion - je fait tout droit, sauf pour l'utilisation de la file de droite!!!! Au diable les nuits de folie!

Merci à tous ceux qui ont répondu, je vais garder la question ici au cas où quelqu'un a besoin d'infos sur comment convertir des dates d'excel à l'aide de ruby.

Aussi pour quelqu'un d'autre en cours d'exécution dans cette - feuille de calcul gem NE prend PAS en charge la lecture de fichiers XLSX à ce point (v 0.7.1) correctement donc je suis en utilisant les règles d'origine pour la lecture, et axlsx pour l'écriture.

OriginalL'auteur konung | 2012-05-11

Leave a Reply

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *