2011-07-06 14 views
2

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

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

的VSTO版本的工作,我使用这个API,因为它的声明性数据绑定语法的代码。并且Excel.Interop API没有方法,如AutoSetDataBoundColumnHeaders ..

如果我可以得到Microsoft.Office.Tools.Excel.ListObject导入,我将如何解决控制集合我调用AddListObject没有VSTO Excel DNA内的东西?

任何解决方案将是很好,即使它涉及再杀我的代码,但总的来说,我想了解什么时候才能实现这个绑定的东西使用的API Excel的DNA内。

回答

3

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正在做你无法做到的事情。

相关问题