簡體   English   中英

為什么在 RubyXL 中開發的超鏈接在 LibreOffice 中工作而不是 Excel

[英]Why Does Hyperlink Developed In RubyXL Work In LibreOffice And Not Excel

我正在使用 RubyXL 在 Rails 中工作。 我正在嘗試創建指向文件中不同選項卡的鏈接。 當我在 LibreOffice(版本:4.3.7.2)中嘗試鏈接時,鏈接效果很好,但是當我在 Windows 的 Excel(Office 16)中嘗試鏈接時,會彈出一條錯誤消息,並顯示“參考無效”。 這很煩人。

我在第一張工作表 worksheet_0 上有一個選項卡表。 在創建其他選項卡時,我會為每個選項卡創建一個鏈接,然后將鏈接放在 worksheet_0 上。 鏈接文本只是選項卡編號。

這里是創建鏈接的代碼:

  TOC_worksheet = workbook.add_worksheet("TOC") 
  products.each_with_index do |prod, index|
    ...
    worksheet = workbook.add_worksheet(name)

    row_number = index + 1
    link = %Q{HYPERLINK("##{worksheet.name}","#{row_number}")}
    TOC_worksheet.add_cell(row_number, 0, '', link)
    ...

這是 LibreOffice 和 Excel 中鏈接的樣子

=HYPERLINK("#1 Centrify Server","1")

我是 Ruby 和 Rails 的新手,希望能有任何見解。

“引用無效”指向鏈接目標的格式。 具體來說,Excel 不喜歡工作表名稱有空格。

=HYPERLINK("#'1 Centrify Server'","1")

或者

=HYPERLINK("#'1 Centrify Server'!A1","1")

這意味着:

link = %Q{HYPERLINK("#'#{worksheet.name}"',"#{row_number}")}

應該更能被 Excel 接受。

暫無
暫無

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

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