C# 如何使用OpenXML更新Excel中的外部链接

C# 如何使用OpenXML更新Excel中的外部链接,c#,excel,openxml,openxml-sdk,closedxml,C#,Excel,Openxml,Openxml Sdk,Closedxml,我有一个带有几个外部链接的工作簿。 我们需要定期更新链接以指向一个新的excel数据库,所以我正在制作一个小型windows应用程序来自动完成这项工作 我正在尝试使用OpenXML来完成这项工作。我不想使用互操作,因为打开文件、更改链接然后再次关闭工作簿需要很长时间 有什么想法,请告诉我。我也愿意使用ClosedXML来实现这一点 您是否在数量有限的机器上使用此功能?e、 g.为db管理员提供一台笔记本电脑?如果是,我建议您在Excel中使用DSN连接,并在数据库更改时从DSN编辑器中更新它们

我有一个带有几个外部链接的工作簿。 我们需要定期更新链接以指向一个新的excel数据库,所以我正在制作一个小型windows应用程序来自动完成这项工作

我正在尝试使用OpenXML来完成这项工作。我不想使用互操作,因为打开文件、更改链接然后再次关闭工作簿需要很长时间


有什么想法,请告诉我。我也愿意使用ClosedXML来实现这一点

您是否在数量有限的机器上使用此功能?e、 g.为db管理员提供一台笔记本电脑?如果是,我建议您在Excel中使用DSN连接,并在数据库更改时从DSN编辑器中更新它们

请参见Windows中的以下内容。 C:\Windows\System32\odbcad32.exe


这样,任何使用这些DSN的文件都会有更新的连接。

我已经设法通过Interop完成了这项工作,但速度太慢了。我正在查看OpenXML SDK,ExternalWorkbookParts是我可以从中检索链接列表的类,但是,我找不到任何更新链接的内容。文件将通过共享服务器使用,因此我不确定您的解决方案。这实际上是我第一次看到这些DSN连接,所以谢谢你给我介绍一些新的东西!因此,这取决于数据库的安全性。如果您可以授予所有用户访问文件的读取权限,那么这仍然是可行的。如果不是的话,我会选择ClosedXML——比OpenXML更先进。