rubyスクリプトでroogemを使用してXLSXファイルを解析しようとしています。
Excelでは、日付は、から数えてDDDDD.tttttの形式で浮動小数点数または整数として格納されます1900-01-00 (00 no 01)
。したがって、40396などの日付を変換するには1900-01-00 + 40396
、2010-10-15を取得する必要がありますが、2010-08-08を取得しています。
私はactive_support/timeを使用して、次のような計算を行っています。
Time.new("1900-01-01") + 40396.days
計算が間違っていますか、それともアクティブサポートにバグがありますか?
私はWindows7でruby1.9.3-mriを実行しています+最新のactive_supportgem(3.2.1)
編集
私はExcelで間違ったデータを含む古いファイルを見ていました-私のスクリプト/コンソールは正しいデータを引き出していました-それ故に私の混乱-私は正しいファイルを使用することを除いてすべてを正しく行っていました!!!! 夜通しの人を酷評しなさい!
返信してくださった皆さんのおかげで、誰かがルビーを使ってエクセルから日付を変換する方法についての情報が必要な場合に備えて、ここに質問を残しておきます。
また、これに遭遇した他の人にとっても-スプレッドシートgemはこの時点(v 0.7.1)でXLSXファイルの読み取りを適切にサポートしていません-したがって、読み取りにはrooを使用し、書き込みにはaxlsxを使用しています。