2012-08-09 73 views
0

電子表格中的日期列格式爲'mm/dd/yyyy' 但是當我通過電子表格讀取上述列時,格式與上述格式不同。如何使用電子表格寶石紅寶石正確檢索日期

我的代碼如下:

require 'spreadsheet' 

Spreadsheet.client_encoding = 'UTF-8' 
book = Spreadsheet.open params[:excel_file] 
sheet1 = book.worksheet 0 
sheet1.each do |row| 
    row.set_format 1, Spreadsheet::Format.new(:number_format => 'MM/DD/YYYY') 
    h = Hash.new 
    h["name"] = row[0] 
    h["date"] = row[1] 
    ...... 
end 

目前H [ 「日」]不會檢索正確。那麼我應該如何正確檢索日期列以及我的原始格式。任何人都可以幫我解決這個問題!

回答

0

row[1].daterow[1].datetime會給你正確的價值。我想你可以在寫出格式的時候設置格式,而不是相反。

更新
我以爲你只是需要你的excel日期翻譯爲紅寶石日期。
這應該做的伎倆:
excel_date = row[1].date
ruby_date = excel_date.strftime('%m/%d/%Y')