如何在Ruby中使用电子表格GEM正确检索数据 [英] How to retrieve date properly using spreadsheet gem in ruby

查看:21
本文介绍了如何在Ruby中使用电子表格GEM正确检索数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

电子表格中的日期列的格式为'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["date"]。那么,我应该如何使用原始格式正确地检索日期列呢?有人能帮我解决这个问题吗?

推荐答案

row[1].daterow[1].datetime将为您提供正确的值。我想你可以在写的时候设置格式,而不是反过来。

更新
我以为您只需要将您的Excel日期转换为Ruby日期。
这应该会起作用:
excel_date = row[1].date
ruby_date = excel_date.strftime('%m/%d/%Y')

这篇关于如何在Ruby中使用电子表格GEM正确检索数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆