【问题标题】:Why Does Hyperlink Developed In RubyXL Work In LibreOffice And Not Excel为什么在 RubyXL 中开发的超链接可以在 LibreOffice 而不是 Excel 中工作
【发布时间】:2020-07-22 17:34:46
【问题描述】:

我正在使用 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 的新手,如果有任何见解,我将不胜感激。

【问题讨论】:

    标签: ruby-on-rails rubyxl


    【解决方案1】:

    “引用无效”指向链接目标的格式。具体来说,Excel 不喜欢工作表名称包含空格。

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

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

    这意味着:

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

    应该更容易被 Excel 接受。

    【讨论】:

      猜你喜欢
      • 2017-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-31
      • 1970-01-01
      • 1970-01-01
      • 2014-03-25
      • 1970-01-01
      相关资源
      最近更新 更多