`%':无法将Spreadsheet :: Column转换为整数(TypeError)

时间:2014-09-06 21:04:50

标签: ruby excel rubygems ruby-2.0

使用带有Spreadsheet Gem的Ruby 2.0时收到以下错误:

%': can't convert Spreadsheet::Column into Integer (TypeError)

我正在使用spreadsheet guide作为电子表格的宝石。

require 'spreadsheet'

importing = Spreadsheet.open 'file.xls'
book = importing.worksheet 'Sheet1'

book.each do |x, y|
  x = book.column(1)
  y = book.column(2)

  puts x
  puts y
end

我期待这样的输出,因为这是我在电子表格中的内容:

x    y
32  4
402 6
733 4
1   30
2   3128
2   4
1   1
6   2
10  63
90  333

1 个答案:

答案 0 :(得分:1)

each方法迭代电子表格中的每一行。然后,您可以使用[] s访问行中的每个值。 This part of the guide is relevant.

为您的用例尝试类似的事情:

require 'spreadsheet'

importing = Spreadsheet.open 'file.xls'
book = importing.worksheet 'Sheet1'

book.each do |row|
  puts "%-4s%-4s" % row
end

%-4s表示插入一个左对齐的String,其最小宽度为4个空格。 row中的前两个元素将被替换,因为我们在字符串中有两个%参数。