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

在使用电子表格Gem使用Ruby 2.0时收到以下错误:

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

我正在使用电子表格gem的电子表格指南 。

 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 

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

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

each方法在电子表格中的每一行上进行迭代。 然后可以使用[] s访问行中的每个值。 本指南的这一部分是相关的。

为你的用例尝试这样的事情:

 require 'spreadsheet' importing = Spreadsheet.open 'file.xls' book = importing.worksheet 'Sheet1' book.each do |row| puts "%-4s%-4s" % row end 

%-4s表示插入最小宽度为4的左alignmentstring。 行中的前两个元素将被replace,因为在string中有两个%参数。