Roo - 按内容查找单元格

时间:2017-01-24 12:04:23

标签: ruby roo-gem

使用roo获取包含预定义值的单元格(或只是行)的坐标时,有没有办法?

例如,让细胞A,3含有内容" HERE",我需要,通过" HERE"得到(A,3)或只有3。

感谢。

1 个答案:

答案 0 :(得分:0)

我今天第一次使用roo,它根本不会感觉到Rubyish。可能有更好的方法,但这个代码适用于一个简单的例子:

require 'roo'

xlsx = Roo::Excelx.new("roo.xlsx")

cell = xlsx.each_row_streaming.to_a.flatten.find do |c|
  c.value.to_s.include?('hello')
end

if cell
  p cell.coordinate
  #=> #<Roo::Excelx::Coordinate:0x000000028ea6a0 @row=6, @column=1>
  p cell.value
  #=> "hello world"
end

请注意,即使第一个单元格匹配,它也会读取整个电子表格。