1

私は、rubyスクリプトへの入力として1列のオープンオフィススプレッドシートを取得し、その隣の列のその列の各セルの結果を書き込もうとしています。だから、説明するために:

入力:

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

出力:

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

これを実現するためにrodfrubygemを使用しようとしていますが、新しい列を作成する方法がわかりません。

 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が実際に何かを行っているかどうかをソースコードから知ることはできません。

4

2 に答える 2

0

ここでの完全な推測:

ss.table 'My first table from Ruby' do
   row { cell 'Hello, rODF world!', 'next?' }
end
于 2013-03-26T20:45:29.880 に答える
0

つまり、実際には次のようになります。

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
于 2013-03-28T18:25:49.723 に答える