当编辑 | 链接被禁用时,为什么 LibreOffice Calc 会询问更新 Excel 2007 .xls 文件中的链接?

当编辑 | 链接被禁用时,为什么 LibreOffice Calc 会询问更新 Excel 2007 .xls 文件中的链接?

(我不相信这是重复的LibreOffice Calc 提示更新“其他文件的链接”。为什么?。请参阅下文了解原因。)

标题基本上说明了一切。我有一个最初用 Excel 2007 创建的 .xls 文件。据我所知,它里面没有任何链接,菜单Links...Edit被禁用(灰色)。当我在 LibreOffice 3.4.4 中打开它时,它会询问

该文件包含指向其他文件的链接。

它们应该被更新吗?

[是] [否]

我一直说。同样,由于Edit菜单Links...是灰色的,显然没有任何外部链接。我认为该文件甚至没有内部链接。它其中有多个工作表。

我已经看到了我上面提到的问题,但是 OP 不确定是否Edit | Links...曾经活跃并且停止获取问题,并且那里唯一的答案假设它Edit | Links...是活跃的,所以显然不是我所看到的问题的答案。

我该如何修复该文件以便每次打开它时都不会出现这个问题(没有更改我的选项以始终更新链接)?


发完问题后,我立即想到:不知道将其保存为 .ods 文件是否能解决这个问题。所以我这样做了,然后打开了 .ods 文件。我得到了问题,但当我说“否”时,菜单项Edit | Links...已启用,当我进入它时,我发现 LibreOffice 认为是指向其他文件的链接。

所以我以为我找到了答案,但很遗憾没有。如果我告诉它断开它显示的两个链接并保存 .ods 文件,下次我返回时,其中一个链接会重新出现在列表中。再次删除它、重新保存并返回没有帮助;我至少这样做了四次,但链接还是不断重新出现。

答案1

我找到了一个解决方法。希望有人能给出更好的答案,如果没有,也许这会帮助其他遇到同样问题的人。

以下是解决方法(使用 LibreOffice 3.4.4):

  1. 打开 .xls 文件
  2. 对问题说“不”
  3. 将文件另存为 OpenOffice.org 1.0 电子表格 (.sxc) (不是.ods,这不起作用,请参阅问题末尾的更新)
  4. 打开新的 .sxc 文件
  5. 对问题说“不”
  6. Edit | Links...
  7. 断开你找到的所有链接
  8. 保存文件
  9. 使用“另存为”将其保存为您实际想要的任何格式(.xls,.ods 等)
  10. 删除临时 .sxc 文件

现在链接确实坏了。这似乎是 LibreOffice 中的两个不同错误(打开 .xls 文件时不显示链接,保存为 .ods 并使用“断开链接”时无法成功断开链接),我会报告的。

答案2

我在多张工作表中遇到了类似的问题。Edit -> Links总是灰显,并且以上面提到的和其他地方推荐的其他格式(如 ODS)重新保存对我来说不起作用。

什么做过对我有用(在 32 位 Linux Mint 18.3 下使用 Calc 5.1.6.2 - 是的,我有一些旧套件!)是这样的:

  1. 复制您的文件并首先在副本上尝试此过程!
  2. 打开 .xls 文件的副本
  3. 对问题说“不”
  4. 将文件保存为平面 XML ODF 电子表格 (.fods)
  5. 关闭计算
  6. 找到您的 .fods 文件并使用文本编辑器打开它。我使用的是 Linux,所以我使用了 xed,但我想 Notepad(在 Windows 上)和 Textedit(在 Mac 上?)之类的东西也可以。
  7. 搜索file:///- 它位于链接到的文件的名称之前。我file///:在文件的最底部找到了我的条目,位于命名表达式的 XML 边界区域中。我不太确定这些是什么,尽管从单个条目来看,它们似乎与打印范围有关。

现在要小心:你的电子表格可能不像我的那么简单,接下来发生的事情可能会破坏它试图做的事情

  1. 我删除了以 为界的<table:named-expressions>、并且通过我的搜索找到引用</table:named-expressions>file:///条目。您可能想要选择要删除的条目 - 请参阅下文,但请确保保持 XML 的完整性。就像我说的,先在副本上试试这个!
  2. 保存您正在编辑的文本文件(可能再次使用不同的名称,例如file_modified_name.fods”)并关闭编辑器。
  3. 使用 Calc 打开这个修改后的文件。
  4. 保存为您想要的任何格式,例如 .xls、.xlsx、ods 等,然后关闭 Calc。
  5. 重新打开您刚刚用 Calc 创建的文件 - 如果您的编辑正确,您会发现有关更新链接的提示已经消失。

有趣的是,除了一个例外,文件名反映了这个非常长期的电子表格在 USB 记忆棒上的位置,因为我的主电脑已经发生了变化。

我对此提出了严厉的警告,因为我不知道这对电子表格有什么影响,但它似乎对我有用:你的旅费可能会改变 ;-) !!!

<table:named-expressions>仅供参考:在我删除的和标签范围内</table:named-expressions>大约有 12 个单独的项目看起来与此类似:<table:named-expression table:name="Excel_BuiltIn_Print_Area_14" table:base-cell-address="$Key.$A$1" table:expression="[&apos;file:///home/myname/filename.xls&apos;#$&apos;&apos;.$A$1:.$T$25]"/>

有一次,该table:name部分指向工作簿自己的电子表格之一,即非外部链接。也许应该保留这一点,但实际上我不知道。

在某些情况下,该table:name部分是Excel_BuiltIn_Print_Titles_11(或任何数字)。


这个问题困扰了我好几年,但这似乎对我有用,但是没有任何保证因此,请保留一份旧文件的“良好”副本,如果这对您不起作用,您可以返回到该副本。希望我的经验可以帮助遇到类似困难的人。

答案3

链接可能位于范围名称中,请尝试查看“插入|名称|管理”,其中可能包含由 Excel 创建并链接到外部文件的范围名称

答案4

在@wkcsgm 的回答上稍微扩展一下,Excel/LibreOffice/whatever 允许您命名范围以在其他地方用作快捷方式。它被描述为在 LibreOffice 文档中。这让我找到了解决这个问题的合理方法。显然,有一次,我在电子表格中制​​作了一个图表,引用了另一张表格中的数据。然后我删除了图表。但图表中各种事物的名称已被保存为“托管名称”;它们看起来像标签名称。那是很久以前的事了。每次打开电子表格时,我都会收到一条关于“...链接到其他文件”的消息,但这种情况并不常见,所以直到今天我才开始关心。

但我离题了。虽然没有链接到其他数据,但在“管理名称”菜单中有对这些标签的引用,可以通过“插入”>“名称”>“管理”进入。一旦我删除这些名称、保存并重新打开我的文档,对话框就不会再出现了。

我认为今天这项工作将使我一生中节省多达两分钟的不必要点击“不”的时间,但是现在我明白了这些链接来自哪里,我感觉好多了。

相关内容