我创建了一个excel加载项。 我想要做的是在c#(ASP.NET)中打开一个excel文档并在加载项中运行一些代码,然后将excel文档作为html页面返回。
可以这样做吗?
答案 0 :(得分:0)
在Com加载项中,我必须添加:
public partial class ThisAddIn
{
...
protected override object RequestComAddInAutomationService()
{
if (addinUtilities == null)
{
addinUtilities = new AddinUtilities();
}
return addinUtilities;
}
...
}
您应该从此函数返回一个对象,此对象稍后可以在interop中使用,如下面的代码片段中所示。添加要向此对象公开的任何功能。
然后按如下方式使用插件:
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
返回的对象。