![当编辑 | 链接被禁用时,为什么 LibreOffice Calc 会询问更新 Excel 2007 .xls 文件中的链接?](https://linux22.com/image/1312988/%E5%BD%93%E7%BC%96%E8%BE%91%20%7C%20%E9%93%BE%E6%8E%A5%E8%A2%AB%E7%A6%81%E7%94%A8%E6%97%B6%EF%BC%8C%E4%B8%BA%E4%BB%80%E4%B9%88%20LibreOffice%20Calc%20%E4%BC%9A%E8%AF%A2%E9%97%AE%E6%9B%B4%E6%96%B0%20Excel%202007%20.xls%20%E6%96%87%E4%BB%B6%E4%B8%AD%E7%9A%84%E9%93%BE%E6%8E%A5%EF%BC%9F.png)
(我不相信这是重复的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):
- 打开 .xls 文件
- 对问题说“不”
- 将文件另存为 OpenOffice.org 1.0 电子表格 (.sxc) (不是.ods,这不起作用,请参阅问题末尾的更新)
- 打开新的 .sxc 文件
- 对问题说“不”
- 去
Edit | Links...
- 断开你找到的所有链接
- 保存文件
- 使用“另存为”将其保存为您实际想要的任何格式(.xls,.ods 等)
- 删除临时 .sxc 文件
现在链接确实坏了。这似乎是 LibreOffice 中的两个不同错误(打开 .xls 文件时不显示链接,保存为 .ods 并使用“断开链接”时无法成功断开链接),我会报告的。
答案2
我在多张工作表中遇到了类似的问题。Edit -> Links
总是灰显,并且以上面提到的和其他地方推荐的其他格式(如 ODS)重新保存对我来说不起作用。
什么做过对我有用(在 32 位 Linux Mint 18.3 下使用 Calc 5.1.6.2 - 是的,我有一些旧套件!)是这样的:
- 复制您的文件并首先在副本上尝试此过程!
- 打开 .xls 文件的副本
- 对问题说“不”
- 将文件保存为平面 XML ODF 电子表格 (.fods)
- 关闭计算
- 找到您的 .fods 文件并使用文本编辑器打开它。我使用的是 Linux,所以我使用了 xed,但我想 Notepad(在 Windows 上)和 Textedit(在 Mac 上?)之类的东西也可以。
- 搜索
file:///
- 它位于链接到的文件的名称之前。我file///:
在文件的最底部找到了我的条目,位于命名表达式的 XML 边界区域中。我不太确定这些是什么,尽管从单个条目来看,它们似乎与打印范围有关。
现在要小心:你的电子表格可能不像我的那么简单,接下来发生的事情可能会破坏它试图做的事情
- 我删除了以 为界的
<table:named-expressions>
、并且通过我的搜索找到引用</table:named-expressions>
的file:///
条目。您可能想要选择要删除的条目 - 请参阅下文,但请确保保持 XML 的完整性。就像我说的,先在副本上试试这个! - 保存您正在编辑的文本文件(可能再次使用不同的名称,例如file_modified_name.fods”)并关闭编辑器。
- 使用 Calc 打开这个修改后的文件。
- 保存为您想要的任何格式,例如 .xls、.xlsx、ods 等,然后关闭 Calc。
- 重新打开您刚刚用 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="['file:///home/myname/filename.xls'#$''.$A$1:.$T$25]"/>
有一次,该table:name
部分指向工作簿自己的电子表格之一,即非外部链接。也许应该保留这一点,但实际上我不知道。
在某些情况下,该table:name
部分是Excel_BuiltIn_Print_Titles_11
(或任何数字)。
这个问题困扰了我好几年,但这似乎对我有用,但是没有任何保证因此,请保留一份旧文件的“良好”副本,如果这对您不起作用,您可以返回到该副本。希望我的经验可以帮助遇到类似困难的人。
答案3
链接可能位于范围名称中,请尝试查看“插入|名称|管理”,其中可能包含由 Excel 创建并链接到外部文件的范围名称
答案4
在@wkcsgm 的回答上稍微扩展一下,Excel/LibreOffice/whatever 允许您命名范围以在其他地方用作快捷方式。它被描述为在 LibreOffice 文档中。这让我找到了解决这个问题的合理方法。显然,有一次,我在电子表格中制作了一个图表,引用了另一张表格中的数据。然后我删除了图表。但图表中各种事物的名称已被保存为“托管名称”;它们看起来像标签名称。那是很久以前的事了。每次打开电子表格时,我都会收到一条关于“...链接到其他文件”的消息,但这种情况并不常见,所以直到今天我才开始关心。
但我离题了。虽然没有链接到其他数据,但在“管理名称”菜单中有对这些标签的引用,可以通过“插入”>“名称”>“管理”进入。一旦我删除这些名称、保存并重新打开我的文档,对话框就不会再出现了。
我认为今天这项工作将使我一生中节省多达两分钟的不必要点击“不”的时间,但是现在我明白了这些链接来自哪里,我感觉好多了。