c# - 从 c# 应用程序使用插件启动 excel 应用程序

标签 c# .net office-interop excel-interop

我有一个 C# 应用程序,它需要创建一个 Excel 应用程序,然后打开一个工作簿。问题是我需要在 excel 打开时加载 Bloomberg addinn。我找到的唯一方法是在这篇文章中 working example .

这确实启动了 excel 并能够使用 Bloomberg 函数。但是我想知道是否有办法将 myXl 转换为 xlApp,其中 xlApp 的类型为 Microsoft.Office.Interop.Excel.Application?

var myXl = Process.Start("excel.exe");

原因是我有一个库,它有一些我想使用的有用功能,但它需要一个类型为 Microsoft.Office.Interop.Excel.Application 的参数。我该怎么做?

最佳答案

您可以通过外部应用程序自动执行 Excel。参见 How to automate Microsoft Excel from Microsoft Visual C#.NETC# app automates Excel (CSAutomateExcel)获取更多信息。

Application 类提供以下用于访问加载项的属性:

  • AddIns - 返回一个 AddIns 集合,代表“加载项”对话框中列出的所有加载项(“开发人员”选项卡上的“加载项”命令); XLL 加载项。
  • COMAddIns - 返回 Microsoft Excel 的 COMAddIns 集合,它表示当前安装的 COM 加载项。

因此,如果您需要确保启用了 COM 加载项,则需要使用 Application 类的 ComAddins 属性。

关于c# - 从 c# 应用程序使用插件启动 excel 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35089016/

相关文章:

c# - 提高大型数据集中的搜索性能

c# - 如何访问 IQueryable<T> 对象中的连续元素?

c# - 使WinForms富文本框忽略 "CTRL + >"和 "CTRL + <"热键

c# - 为什么dsofile.dll还需要Office安装?

excel - 仅使用公式将 Excel 中的字符串/数字日期转换为日期格式对象

c# - 将 aspx 转换为 pdf

c# -++什么时候不会产生与+1相同的结果?

c# - Invoke调用中的匿名方法

c# - 如何通过 Office Interop 从 C# 访问 Excel 中的撤消堆栈?

c# - 统一: Build up a dictionary