1

下面是我的代码,我尝试从 excel 表中查找文本并单击应用程序上的“文本”。完成后,我想将那个特定的单元格(文本所在的位置)涂成绿色。

 require 'rubyXL'
 require 'roo'
 workbook = Roo::Spreadsheet.open(file_name)
 workbook1 = RubyXL::Parser.parse(file_name) workbook.default_sheet='Left navigation'
 worksheet1 = workbook1['Left navigation']
 for j in (workbook.first_row..workbook.last_row)
   for k in (workbook.first_column..workbook.last_column)
     if(k==1)
        choose("lookupSearch", :option => "Plan")
        fill_in "searchInput", :with => workbook.cell(j,k)
        find(:xpath, '//*[@id="searchicon"]').click
     elsif(workbook.cell(j,k)=='.')
        puts "Completed"
     else
        find('a', text: workbook.cell(j,k), :match => :prefer_exact)
        worksheet1.sheet_data[j][k].change_fill ('008000')
     end
   end
 end

错误消息是“nil:NilClass (NoMethodError) 的未定义方法‘[]’”

注意:当我使用 worksheet1.sheet_data[j-1][k-1].change_fill ('008000') 时没有错误。但单元格上仍然没有绿色。无法追踪。请指教

4

0 回答 0