【问题标题】:My program is using office integrations and targetting windows without MS Office, C#我的程序正在使用 Office 集成并针对没有 MS Office、C# 的窗口
【发布时间】:2020-03-25 19:16:21
【问题描述】:

我开发了一个程序(C shrap),它可以帮助学校将文档存档,在该程序中,我使用 Microsoft Word、Excel 和 Access 集成,但我不知道目标 PC 是否有 MS Office,所以,有没有办法在不要求安装 MS Office 的情况下定位这些 PC? 我的参考资料: Microsoft.Office.Interop.Excel Microsoft.Office.Interop.word

【问题讨论】:

  • 互操作库不会取代 Office 应用。如果您的应用需要与 Office 交互(打开文件、修改),那么您需要安装 Office。如果您只需要移动,复制文件,那么您不需要 Office。
  • 我同意,这具体取决于您需要什么样的功能。

标签: c# visual-studio ms-office


【解决方案1】:

如果您使用 Interop,那么您需要 Office 安装。

我建议改用其他不需要 Office 的库,例如 openxml sdk。

您可以在网上找到有关如何执行此操作的各种示例。这里有几个

https://www.codingame.com/playgrounds/11047/edit-word-documents-using-openxml-and-c-without-automationinterop

https://www.codeproject.com/Articles/87711/Manipulate-Docx-with-C-without-Microsoft-Word-inst

Do we need Office Installation to work with OpenXML?

https://github.com/OfficeDev/Open-XML-SDK

【讨论】:

  • “如果您使用 Interop,那么您需要 Office 安装。”...并非总是如此。这完全取决于需要什么功能 - 请参阅上面主线程的评论。对于一些事情,您只需使用 DLL 就可以摆脱困境。我同意,对于某些工作,直接与 openXML 文件交互的较新的 SDK 是更好的解决方案。但是,如果您确实想要自动化正在运行的 Office 实例,它们不是解决方案。 OP 并没有真正明确具体需要什么功能,所以我想说这个问题目前还不能完全回答。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多