Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 如何在每个单元格中填充颜色_Ruby_Excel_Roo Gem_Rubyxl - Fatal编程技术网

Ruby 如何在每个单元格中填充颜色

Ruby 如何在每个单元格中填充颜色,ruby,excel,roo-gem,rubyxl,Ruby,Excel,Roo Gem,Rubyxl,我正在使用Roo和RubyXL修改Excel电子表格 当我注释掉Excel工作表中填充颜色的代码时,我没有得到任何错误 我的完整代码: require 'rubyXL' require 'roo' workbook = Roo::Spreadsheet.open(file_name) workbook1 = RubyXL::Parser.parse(file_name) workbook.default_sheet = 'Location Table Values' worksheet1 =

我正在使用Roo和RubyXL修改Excel电子表格

当我注释掉Excel工作表中填充颜色的代码时,我没有得到任何错误

我的完整代码:

require 'rubyXL'
require 'roo'

workbook = Roo::Spreadsheet.open(file_name)
workbook1 = RubyXL::Parser.parse(file_name)

workbook.default_sheet = 'Location Table Values'
worksheet1 = workbook1['Location Table Values']

for j in (workbook.first_row..workbook.last_row)
  print "\n"
  d = j

  for k in (workbook.first_column..workbook.last_column)
    if (k == workbook.first_column)
      choose("lookupSearch", :option => "Plan")
      fill_in "searchInput", :with => workbook.cell(j, k)
      find(:xpath, '//*[@id="searchicon"]').click
    elsif (k == workbook.last_column)
      puts " "
    else
      print k
      findXpath = page.find('td', text: workbook.cell(j,k), :match => :prefer_exact).path
      splitXpath = (findXpath.split("/"))
      count = splitXpath.count
      value = splitXpath.at(count - 1)

      if (value == "td[1]")
        finalElementXpath = findXpath.sub("td[1]", "td[2]")
      elsif (value == "td[2]")
        finalElementXpath= findXpath.sub("td[2]", "td[3]")
      end

      if (workbook.cell(j, k + 1)) == (find(:xpath, finalElementXpath).native.text)
        print "#{workbook.cell(j + 1, k)}-value exist \n"
        worksheet1.sheet_data[d][k].change_fill ('008000') # Green color
      else
        print "object #{workbook.cell(j, k + 1)}not exist #{workbook.cell(j, k)}"
        print workbook.cell(j, k + 1)
        worksheet1.sheet_data[d][k].change_fill ('ff0000')
      end
    end
  end
end

workbook1.write(file_name)

但是我得到了Nil[]Nil类错误。

capybara
不是用于此的合适工具。请查看
axlsx
gem或用于与电子表格交互的工具<代码>电子表格,
roo
,等等。基本上我用的是水豚。但是为了访问excel,我使用了“roo”和“rubyXL”gem。你能帮我解决这个问题吗?你的代码在语法上是无效的。我知道你的开始括号比结束括号多。我删除了对Capybara的引用,因为你没有显示任何Capybara代码或表明你的问题与Capybara有关,并添加了[roo gem]和[rubyxl]标记。我编辑了我的代码并放置了整个代码。希望这会有所帮助。请告诉我该换什么