gpt4 book ai didi

c# - 使用 .NET Core 在 Mac OSX 上进行 Office (Excel) COM 互操作?

转载 作者:行者123 更新时间:2023-12-02 05:48:04 25 4
gpt4 key购买 nike

我所在的团队目前专门使用 C#/.NET 创建 Windows 桌面应用程序,这些应用程序通过 Office COM Interop 与 Microsoft Excel 的本地用户实例进行交互。我目前负责指定一个新产品,但我被告知,除非该应用程序可以在 Mac 和 Windows 上运行,否则该项目不会继续进行——也就是说,我们必须能够生成该应用程序的 Mac 版本它可以在 OSX 上 native 安装并与用户的 Microsoft Excel for Mac 实例的对象模型进行交互。

使用 Parallels、Mono 或 Wine 运行应用程序(请参阅 COM Interop Through Wine in OSX,该问题从未得到解答)不是解决方案,因为应用程序的规范要求用​​户计算机不得以任何方式进行修改。我们只需假设用户运行了经过许可的 Excel 本地副本,然后使用它......这就是我们一直在 Windows 上所做的,在 Windows 上效果很好。

我认为 .NET Core 是答案,但我找不到任何地方明确表明,当使用本地计算机在 Mac OSX 上运行 .NET Core 时,我们可以(或将能够)从 C# 访问 Excel 对象库安装了 Excel for Mac 的副本。有人可以指出我已经讨论过这个问题吗?但如果没有,请告诉我如何从 Microsoft 那里了解这是否在他们的 .NET Core 路线图中?

最佳答案

我从 MSDN 上类似措辞的问题中收到了一些有用的反馈。我也在 .NET Core Github 上发布了一个问题,但我想答案已经很清楚了,如下:

  • 也许可以说服 .NET Core 团队在 .NET Core 类库中添加对 Office.Interop.Excel 命名空间的访问权限,但仅限于 Windows
  • 这无法在 OSX 上的 .NET Core 上完成,因为环境是不适合交换 COM 对象。
  • 这使得在 Excel 中操作对象只剩下两个选项:Mac,两者均已存在:嵌入式 VBA 或 Javascript (Office加载项)。
  • Office Addins 是面向网络驱动、面向数据的出色的新解决方案Excel 中的对象 - 其多平台特性非常棒 - 因此享受主要焦点来自微软的开发。然而,它并不旨在成为任何与 COM 管理复杂电子表格的性能相匹配,因为那不是它的重点。
  • 这意味着没有在 Excel 中管理对象的解决方案对于 Mac,使用 C#,就像在 Windows 上一样,并且有看来没有任何前景。

底线:非常受欢迎的 .NET Core 计划看起来像是一个修复程序,但遗憾的是并非如此,因为 OSX 上的架构限制。

我提交此作为答案是因为我认为我已经对此问题进行了询问,但如果有人认为以上任何内容不正确,请大声喊叫!

谢谢。

关于c# - 使用 .NET Core 在 Mac OSX 上进行 Office (Excel) COM 互操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41172984/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com