[英]How to generate a column of hyperlinks with the axlsx gem
我正在嘗試生成一個包含一列URL的工作表,我想將這些URL表示為超鏈接,而不僅僅是文本。 我發現的所有示例均顯示以這種方式添加超鏈接:
sheet.add_hyperlink :location => 'https://github.com/randym/axlsx', :ref => sheet.rows.first.cells.first
如果您只是想在頁面上的某個地方放置一個超鏈接,則此方法有效,但是我正在遍歷一個集合,並且每一行在特定的列中都有一個鏈接,具體取決於存在的列。
我嘗試了以下操作:
@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>
這看起來確實比應該的要復雜,所以我認為我缺少明顯的東西。
我猜您已經知道了,但是對於其他正在尋找的人:此處定義的“ r”將是對象而不是數組,因此調用“ r [url_idx]”將嘗試訪問一種方法,當然不存在。 您可以嘗試使用諸如“ sheet.rows [url_idx]”之類的方法來獲取行,但是仍然需要指定放置超鏈接的單元格。
希望對別人有幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.