使用C#/ VSTO监视excel 2007中的一系列单元格

Dan*_*vey 2 c# data-binding excel vsto office-2007

我在excel中有一行我想在C#中转换为ObserveableCollection用于绑定/事件目的,因此所有访问者类都知道他们从源excel表中获取最新数据.怎么做?

澄清:我正在使用excel加载项项目,而不是工作簿项目,因此不确定XMLMappedRange控件是否可以选择.

Mik*_*lum 5

使用VSTO您有几个选择:

  1. Excel.Worksheet类,您可以访问Worksheet.Change事件.
  2. NamedRange类,您可以访问NamedRange.Change事件(它使用您在另一个注释中提到的Microsoft.Office.Interop.Excel.DocEvents_ChangeEventHandler委托).
  3. NamedRange类还支持通过DataBindings属性进行简单的单向数据绑定,其中的一个示例在讨论中如何将数组绑定到NamedRange.
  4. 另一种可能性是XmlMappedRange控件,它也支持数据绑定.

有关使用NamedRange和XmlMappedRange的好的入门知识可以在这里找到:VSTO编程模型.使用NamedRange的体面演练可以在Visual Studio Tools for Office(VSTO)2005 Guided Tour中找到.

我希望这有帮助...

麦克风