-1

如何将用逗号分隔的值从 excel/rasta 传递到 Ruby 中的数组。

html看起来像这样,....

<li><input type="checkbox" name="order:1"  />Burger</li>
<li><input type="checkbox" name="order:2"  />Pasta</li>
<li><input type="checkbox" name="order:3"  />Fries</li>

...

EXCEL看起来像这样...

订单

汉堡、意大利面


此代码不起作用

attr_accessor :orders

order = [@orders]
order.each do |i|

.......

........

它应该在红宝石中看起来像这样......

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 :|

4

3 回答 3

2

有一个受欢迎的图书馆叫做roo。在链接页面中,它将告诉您如何安装该库,然后使用它从 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
于 2012-04-19T16:38:20.503 回答
0

查找一些关于 Ruby 的在线教程,或者购买一本像 Everyday Scripting With Ruby 这样的书并按照自己的方式学习。

每个人都必须从某个地方开始,但目前,您似乎了解得太少,并且超出了您的能力范围,以至于试图帮助您的人几乎无法理解您的问题或您正在尝试的事情去做。

接下来,循序渐进地工作,这样您就可以分辨出什么是有效的,什么是失败的,并逐步按照自己的方式进行操作。

例如,在您的情况下,安装 Roo gem,并弄清楚如何使用它来读取电子表格并在屏幕上打印内容。

一旦你能做到这一点,然后尝试将信息读入一个数组,并将数组打印到屏幕上(这样你就知道东西已经到了你需要它去的地方)

现在,使用具有硬编码值的 Watir 编写代码以单击事物等并填写您正在处理的表单等。

一旦你知道这是有效的,就将它与你的代码结合起来,将电子表格读入一个数组,然后用你从电子表格制作的数组中提取的东西替换硬编码的值。

于 2012-04-20T19:02:14.447 回答
0

我可以在 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选项列表中找不到数组中的数据怎么办?

于 2012-04-20T01:14:56.967 回答