You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#使用Microsoft.Office.Interop.Excel打开Excel默认加载插件问题咨询

问题原因

通过COM Interop创建的Excel.Application实例默认启用了自动化安全限制,会禁用所有非必要的插件加载,避免自动化执行流程被插件干扰,这是Office的默认安全设计。

解决方案

在实例化Excel对象后、设置Visible属性前,修改自动化安全级别并启用所有已注册的默认插件即可,无需手动指定xll文件路径,修改后的代码如下:

using Excel = Microsoft.Office.Interop.Excel;
using Microsoft.Office.Core;

Excel.Application ExcelApplication = new Excel.Application();
// 调整自动化安全级别,允许加载默认插件
ExcelApplication.AutomationSecurity = MsoAutomationSecurity.msoAutomationSecurityLow;

// 遍历所有Excel已注册的默认插件,启用加载
foreach (Excel.AddIn addIn in ExcelApplication.AddIns)
{
    // 仅启用原本默认勾选的插件,和手动打开Excel的加载逻辑一致
    if (addIn.Installed == false)
    {
        try
        {
            addIn.Installed = true;
        }
        catch
        {
            // 忽略个别异常插件的加载错误,避免程序崩溃
        }
    }
}

ExcelApplication.Visible = true;
注意事项
  • 配置顺序不可调换:必须在设置Visible属性之前完成安全级别修改和插件启用操作,否则配置不会生效
  • 插件列表完全和手动打开Excel的加载列表一致,不需要额外管理插件路径、版本等信息
  • 如果部分插件加载失败,检查程序运行身份是否和手动打开Excel的用户一致,确保对插件目录有访问权限

内容的提问来源于stack exchange,提问作者Alex

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 10:27:04