簡體   English   中英

如何使用axlsx gem生成超鏈接列

[英]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>

這看起來確實比應該的要復雜,所以我認為我缺少明顯的東西。

參考: 如何向axlsx中的單元格添加超鏈接?

我猜您已經知道了,但是對於其他正在尋找的人:此處定義的“ r”將是對象而不是數組,因此調用“ r [url_idx]”將嘗試訪問一種方法,當然不存在。 您可以嘗試使用諸如“ sheet.rows [url_idx]”之類的方法來獲取行,但是仍然需要指定放置超鏈接的單元格。

希望對別人有幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM