2016-04-29 4 views
0

テキストだけでなく、ハイパーリンクとして表示したいURLの列を持つシートを生成しようとしています。すべての例私は、見つけたショーのハイパーリンクをこのように追加:axlsx gemでハイパーリンクの列を生成する方法

sheet.add_hyperlink :location => 'https://github.com/randym/axlsx', :ref => sheet.rows.first.cells.first 

あなただけのページのどこかに1つのハイパーリンクを置くしようとしている場合、これは動作しますが、私が収集し、各行を反復処理していますどの列が存在するかに応じて、特定の列にリンクがあります。

私は次のことを試みた:

@items.each do |item| 
    row = [] 

    idx = 0 
    ... 
    idx += 1 
    row << item.address 
    url_idx = idx 
    ... 
    r = sheet.add_row row 
    sheet.add_hyperlink :location => item.address, :ref => r[url_idx] 
end 

が、それだけでエラーになった:

undefined method `[]' for #<Axlsx::Row:0x007fa0024fb600> 

をこれは本当にそのように私は私が何かを明らかに不足していると思うべきであるよりも複雑そうです。

参考:How to I add a hyperlink to a cell in axlsx?

+0

もし私があなたを得たら 'sheet.add_hyperlink:location => 'https://github.com/randym/axlsx'、:ref => 'R#$ idx''は仕事をしなければならない...列Rのために)...しかし、私は構文について何も知らない:P –

答えて

0

私はあなたが今ではそれを考え出した推測しているが、他の誰のために、誰が見ています:オブジェクトではなく、配列になり、ここで定義されている「r」を、その呼び出しは「r [url_idx ] 'はもちろん、存在しないメソッドにアクセスしようとします。あなたは行を取得するために 'sheet.rows [url_idx]'のようなものを試すことができますが、ハイパーリンクを置くセルを指定する必要があります。

誰かを助ける希望!

関連する問題