【发布时间】:2011-07-26 14:09:09
【问题描述】:
我创建了一个 Excel 插件。 我想要做的是在 c# (ASP.NET) 中打开一个 excel 文档并在加载项中运行一些代码,然后将 excel 文档作为 html 页面返回。
这可以吗?
【问题讨论】:
我创建了一个 Excel 插件。 我想要做的是在 c# (ASP.NET) 中打开一个 excel 文档并在加载项中运行一些代码,然后将 excel 文档作为 html 页面返回。
这可以吗?
【问题讨论】:
在 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 返回的对象。
【讨论】: