как добавить столбец электронной таблицы с помощью rubygem 'rodf'?

Я пытаюсь взять электронную таблицу открытого офиса с одним столбцом в качестве входных данных для скрипта ruby ​​​​и записать результат для каждой ячейки в этом столбце в столбце рядом с ним. так, для иллюстрации:

вход:

   A
--------
1| XXX |
--------
2| YYY |

выход:

     A |  B
-------------------
1| XXX | result1  |
-------------------
2| YYY | result 2 |

Я пытаюсь использовать rodf rubygem для этого, но не могу понять, как создать новый столбец.

 ss.table 'My first table from Ruby' do
   row { cell 'Hello, rODF world!' }
   row { cell 'next?'
 end

будет писать "следующий?" в ячейку ниже первой (например, A2).

И я получаю исключение, когда пытаюсь это сделать:

ss.table 'My first table from Ruby' do
   row { cell 'Hello, rODF world!' }
   column { row { cell 'wtf?' } }
end
NoMethodError: undefined method `row' for #<ODF::Column:0x00000000f4c2c0 @elem_attrs={}>
from (irb):35:in `block (2 levels) in irb_binding'
from (eval):4:in `instance_eval'
from (eval):4:in `column'
from (irb):35:in `block in irb_binding'
from (eval):4:in `instance_eval'
from (eval):4:in `table'
from (irb):33
from /usr/bin/irb:12:in `<main>'

Как получить доступ к ячейкам в столбце B??

документация неясна, и я не могу сказать из исходного кода, действительно ли column.rb что-то делает.


person Ramy    schedule 26.03.2013    source источник
comment
подождите ... это может сработать. я думаю, что он создал новый лист, не осознавая этого.   -  person Ramy    schedule 27.03.2013


Ответы (2)


Общее предположение здесь:

ss.table 'My first table from Ruby' do
   row { cell 'Hello, rODF world!', 'next?' }
end
person vlasits    schedule 26.03.2013

так что на самом деле так:

ss.table 'My first table from Ruby' do
  row do
    cell 'This goes into A1'
    cell 'This goes into B1'
    cell 'This goes into C1'
    cell 'And on, and on, and on...'
  end
  row do # this starts a new row
    cell 'This goes into A2'
    cell 'This goes into B2'
    cell 'Got it? ;-)'
  end
end
person Ramy    schedule 28.03.2013