ruby-on-rails - 使用列标题使用 roo 解析 excel 工作表 - Ruby

标签 ruby-on-rails ruby import-from-excel ruby-roo

我们能否使用列标题来指定我们使用 roo gem 从中解析 excel 工作表的列号?我现在的代码是这样的:

oo = Openoffice.new("simple_spreadsheet.ods")
oo.default_sheet = oo.sheets.first
(2..oo.last_row).each do |line|
  date       = oo.cell(line,'A')
  start_time = oo.cell(line,'B')
  end_time   = oo.cell(line,'C')
  pause      = oo.cell(line,'D')
  ...
end

我想从列标题中解析,而不是将列指定为 'A' 'B' 'C' ..。我可以使用 Roo 实现吗?

最佳答案

您可以将整个标题行作为一个数组获取,并对标题行上的整个行键进行哈希处理。

oo = Openoffice.new("simple_spreadsheet.ods") 
oo.default_sheet = oo.sheets.first 
header = oo.row(1) 
2.upto(oo.last_row) do |line|  
  row_data =  Hash[header.zip oo.row(line)]
  ...
end

您还可以使用 row_data[line] 来嵌套哈希以备后用。

关于ruby-on-rails - 使用列标题使用 roo 解析 excel 工作表 - Ruby,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6766129/

相关文章:

ruby - 如何在 jRuby 中启用 C 扩展支持?

ruby - 仅用于整数的 JSON 对象

ruby-on-rails - 在 rails 上设置 ruby​​ 时没有权限

ruby-on-rails - Heroku:使用 Selenium 时无法找到 chromedriver

ruby-on-rails - Ruby:如何用 ssh 做 scp?

ruby-on-rails - 'compass watch' 是如何工作的/它是如何与 rails 一起使用的

ruby - ruby 中的评估和绑定(bind)

php - 使用 PHP Excel 转换 Excel 日期

python - 转换日期时间对象

c# - Excel "External table is not in the expected format."