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

我在Excel中有一行,我想在C#中将其转换为ObservableCollection用于绑定/事件目的,所以所有访问器类都知道他们从源excel表获取最新数据。 这将如何完成?

说明:我正在使用一个Excel加载项目,而不是一个工作簿项目,所以不能确定XMLMappedRange控件是否是一个选项。

使用VSTO你有几个select:

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

有关使用NamedRange和XmlMappedRange的一个很好的入门可以在这里find: VSTO编程模型 。 在Visual Studio Tools for Office(VSTO)2005 Guided Tour中可以find使用NamedRange的正确漫游 。

我希望这有帮助…

麦克风

您可以在范围已更改的事件中添加OnChanged。