0

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

这可以做到吗?

4

1 回答 1

0

在 Com 插件中,我必须添加:

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

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

然后按如下方式使用插件:

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

于 2011-09-01T14:27:45.413 回答