【问题标题】:excel interop - how to run excel com add-in codeexcel interop - 如何运行 excel com 加载项代码
【发布时间】:2011-07-26 14:09:09
【问题描述】:

我创建了一个 Excel 插件。 我想要做的是在 c# (ASP.NET) 中打开一个 excel 文档并在加载项中运行一些代码,然后将 excel 文档作为 html 页面返回。

这可以吗?

【问题讨论】:

    标签: excel-interop comaddin


    【解决方案1】:

    在 Com 插件中我必须添加:

    public partial class ThisAddIn
    {
        ...
        protected override object RequestComAddInAutomationService()
        {
             if (addinUtilities == null)
             {
                  addinUtilities = new AddinUtilities();
             }
             return addinUtilities;
        }
    ...
    }
    

    你应该从这个函数返回一个对象,这个对象以后可以在互操作中使用,如下面的代码 sn-p 所示。添加您想要向该对象公开的任何功能。

    然后使用插件如下:

    Application app = new Application();
    var myAddin = app.COMAddIns;
    var count = myAddin.Count;
    COMAddIn addin;
    for (int i = 1; i <= count ; i++) // not zero indexed
    {
        addin = myAddin.Item(i);
        var ob = addin.Object;
        var str = addin.ProgId;
        if (ob != null)
        {
             ob.RunQuery(ws);
        }
    }
    

    如您所见,我还没有找到一种识别插件的好方法(如果有人知道我想听的话),但您可以遍历它们并检查 progId。

    addin.Object 是我们从RequestComAddInAutomationService 返回的对象。

    【讨论】:

      猜你喜欢
      • 2021-10-10
      • 2017-05-18
      • 1970-01-01
      • 2019-11-26
      • 2022-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多