我正在使用Roo gem解析Excel和Excelx文件。但是我不确定如何在那些文件中写。 set_value(row, column, text)
方法不起作用。
代码
@oo = Excelx.new('tes.xlsx')
@oo.default_sheet = @oo.sheets.first
def return_column
keywords = ["website", "url"]
keywords.each do |keyword|
1.upto(@oo.last_column) do |n|
data = @oo.cell(1, n)
return n if data.downcase=~/#{keyword}/i
end
end
end
def return_rows
n = return_n
2.upto(@oo.last_row) do |row|
data = @oo.cell(row, n)
stack << data
end
end
def appender
@oo.set_value(1,11, "hey")
end
appender
我收到的错误消息是
/.rvm/gems/ruby-1.8.7-p352/gems/roo-1.10.1/lib/roo/generic_spreadsheet.rb:441:in `method_missing': private method `set_value' called for #<Excelx:0x101221f08> (NoMethodError)
from /Users/bhushan/.rvm/gems/ruby-1.8.7-p352/gems/roo-1.10.1/lib/roo/excelx.rb:168:in `method_missing'
from parser.rb:32:in `appender'
from parser.rb:35
最佳答案
实际上,这里没有任何答案可以回答如何使用Roo进行操作的问题,因此,我将添加刚刚在我们的应用中测试过的解决方案。
Roo最近添加了用于编辑单元格的功能:https://github.com/roo-rb/roo/blob/master/lib/roo/csv.rb#L42
您可以像这样使用它:
sheet.set_value(1, 5, 'TEST', nil) # to set the 1st row, 5th column to the string 'TEST'
笔记:
nil
,但没有默认参数,因此它是必需的。 关于ruby - 使用Roo gem在ruby中写入Excel文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8493717/