Ruby 使用“电子表格”gem按名称访问单元格

Ruby 使用“电子表格”gem按名称访问单元格,ruby,spreadsheet-gem,Ruby,Spreadsheet Gem,如果我有一个工作表变量,其类型为电子表格::Excel::工作表,现在我们通过执行以下操作来访问B2: MY_CUSTOM_CELL = [1, 1] sheet[*MY_CUSTOM_CELL] # => Contents of B2 在LibreOffice(我肯定是Excel)中,我可以在“名称框”中为该单元格指定一个名称。如下图所示,我为B2命名为“CUSTOM_name” 不是使用行/列坐标访问该单元格的内容,而是可以通过名称访问该单元格吗?如果单元改变位置,这将更容易适应未

如果我有一个
工作表
变量,其类型为
电子表格::Excel::工作表
,现在我们通过执行以下操作来访问
B2

MY_CUSTOM_CELL = [1, 1]
sheet[*MY_CUSTOM_CELL] # => Contents of B2
在LibreOffice(我肯定是Excel)中,我可以在“名称框”中为该单元格指定一个名称。如下图所示,我为B2命名为“CUSTOM_name”

不是使用行/列坐标访问该单元格的内容,而是可以通过名称访问该单元格吗?如果单元改变位置,这将更容易适应未来的变化。我想做一些类似的事情:

sheet.find("CUSTOM_NAME") # => Contents of B2
我正在查看找到的文档,但找不到我要查找的内容


如果创业板已经不允许,我将如何着手实施它呢

下面介绍如何使用creek gem进行解析,它在解析大型xlsx文件时比电子表格gem快得多

require 'creek'

workbook = Creek::Book.new some_file.xlsx # Change the file name to suit your needs
worksheet = workbook.sheets[0] # Change the worksheet index to suit your needs. 

# Create hash with cell names (e.g., A1, B5) as keys and cell values as values
cells = Hash.new
  worksheet.rows.each do |row|
    cells.merge!(row)
  end
end

# To access the cell values, just use the corresponding hash keys

# Set value for the A1 cell
cells["A1"] = "foo"

# Print value of C3 cell
puts cells["C3"]

虽然另一个答案可能是一个很好的选择(我个人没有证实),但这个问题的答案是

目前无法使用电子表格gem按名称检索单元格