我可以在Excel DNA项目中使用Microsoft.Office.Tools.Excel,还是有另一种方法来完成数据绑定表?

我有在Excel插件的VSTO版本中工作的代码

Microsoft.Office.Tools.Excel.ListObject lo = Globals.ThisAddIn.VSTOWorksheet.Controls.AddListObject(r, "lo1"); lo.AutoSetDataBoundColumnHeaders = true; lo.DataSource = dt; //some DataTable 

我正在使用这个API,因为它的声明性数据绑定语法。 Excel.Interop API没有方法,如AutoSetDataBoundColumnHeaders ..

如果我能得到Microsoft.Office.Tools.Excel.ListObject导入,我将如何解决在Excel DNA中没有VSTO东西的情况下调用AddListObject的Controls集合?

任何解决scheme将是很好的,即使它涉及废除我的代码,但总的来说,我想知道什么时候使用Excel DNA内的哪个API来完成这个数据绑定的东西。

VSTO在Excel对象模型上添加了一些扩展。 我没有VSTO的经验,对于像ListObjects这样的东西,我无法知道Excel的对象模型结束,扩展的VSTO包装器对象开始。

边界基本上是这样的:Microsoft.Office.Interop.Excel可以从Excel-DNA中使用(所以这是您可以使用的ListObject接口: http : //msdn.microsoft.com/en-us/library/microsoft.office .interop.excel.listobject_members.aspx )。 Microsoft.Office.Tools.Excel是VSTO的一部分。

另外,我真的不知道VSTO文库是否可以和Excel-DNA一起使用。 这个问题会让VSTO库被初始化并且被连接起来 – 这可能会非常棘手。

在Excel对象模型的基础上,您可以尝试自己重新实现这些对象模型扩展。 我不认为VSTO正在做你自己做不到的事情。