RUBY/WATIR/RASTA:将值从excel/RASTA传递到RUBY中的数组?

RUBY/WATIR/RASTA:将值从excel/RASTA传递到RUBY中的数组?,ruby,arrays,excel,watir,Ruby,Arrays,Excel,Watir,如何将excel/rasta中以逗号分隔的值传递给Ruby中的数组 html看起来像这样, 在ruby中应该是这样的 attr_accessor :orders orders = [ 'burger','pasta '] *#should pass data from excel in the array "**orders**" orders.each do |i| @browser.checkbox(:text => i).click @browser.button(:name

如何将excel/rasta中以逗号分隔的值传递给Ruby中的数组

html看起来像这样,

在ruby中应该是这样的

attr_accessor :orders

orders = [ 'burger','pasta '] *#should pass data from excel in the array "**orders**"

orders.each do |i|
@browser.checkbox(:text => i).click
@browser.button(:name => 'save').click
end
那么,如何将excel中的值传递给数组呢


抱歉,我还在学习Ruby:|

有一个受欢迎的库,名为。在链接页面中,它将告诉您如何安装库,然后使用它从excel中获取值

require 'rubygems'
require 'roo'

HOURLY_RATE = 123.45

oo = Openoffice.new("simple_spreadsheet.ods")
oo.default_sheet = oo.sheets.first
oo.first_row.upto(oo.last_row) do |line|
  @browser.check(:value => oo.cell(line,'A'))
  @browser.button(:name => 'save').click
end

我可以在excel中获得这些值,但我不知道如何在Ruby中将它们作为数组放入

我的代码如下所示。。但它不起作用

......
if array 

 arrayLabel = [:array]

    arrayLabel.each do |i|
    @browser.checkbox(:text => i).click 
    @browser.button(:name => 'save').set
            end


end 
..............
:array,是在ruby中获取要传递的值的列名


如果数组中的数据未在checkbos选项列表中找到,该怎么办?

查找一些Ruby的在线教程,或者购买一本书,如《Ruby的日常脚本编写》

每个人都必须从某个地方开始,但目前,你似乎理解得太少,并且超出了你的能力范围,以至于那些试图帮助你的人几乎无法理解你的问题或你试图做什么

接下来,循序渐进地工作,这样你就可以知道什么是有效的,什么是失败的,然后逐步地工作到你想做的事情

例如,在您的案例中,安装RooGem,并了解如何使用它从电子表格中读取数据,并在屏幕上打印内容

一旦你能做到这一点,然后试着把信息读入一个数组,然后把数组打印到屏幕上,这样你就知道这些东西已经到了你需要的地方

现在,使用Watir编写come代码,该代码具有硬编码的值,用于单击内容等,并填写您正在处理的表单等


一旦您知道这是可行的,将其与您的代码结合起来,将电子表格读入一个数组,并用从电子表格中生成的数组中提取的内容替换硬编码值。

您会遇到什么错误?在第一个不起作用的示例中,您有一个名为order singular的变量,而在第二个示例中,您有一个名为orders Multiple的变量。对于变量名,我很抱歉,,,haha已经更正了它,但每当我运行代码时,错误是。。。。。。然后切换到value,因为文本中有空格。很抱歉,表单中没有value属性..:你知道怎么做吗?我发表评论时他们在场。我不是来解谜的。我是来帮助人们的。在ruby中,任何以冒号开头的东西,比如“:array”,都被称为符号。在上面的代码中,您只是将某个值设置为[:array]如果您希望从电子表格中读取它,则需要使用列名作为参数从库(如Roo)中调用某个方法。然后,该方法将该列的内容读入数组。在上面的代码中没有这样做。顺便说一句,在涉及数组、db列等的讨论中,将列命名为“Array”只会产生非常混乱的代码,很难阅读。。根据专栏中的内容命名,比如食物,然后你正在做或试图做的事情,对你要求你帮助的人来说可能更有意义。
require 'rubygems'
require 'roo'

HOURLY_RATE = 123.45

oo = Openoffice.new("simple_spreadsheet.ods")
oo.default_sheet = oo.sheets.first
oo.first_row.upto(oo.last_row) do |line|
  @browser.check(:value => oo.cell(line,'A'))
  @browser.button(:name => 'save').click
end
......
if array 

 arrayLabel = [:array]

    arrayLabel.each do |i|
    @browser.checkbox(:text => i).click 
    @browser.button(:name => 'save').set
            end


end 
..............