2

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

澄清:我使用的是 excel 加载项项目,而不是工作簿项目,所以不确定 XMLMappedRange 控件是否是一个选项。

4

2 回答 2

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 编程模型。可以在Visual Studio Tools for Office (VSTO) 2005 Guided Tour中找到使用 NamedRange 的体面演练。

我希望这有帮助...

麦克风

于 2009-12-07T03:08:57.897 回答
0

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

于 2009-12-02T15:25:34.457 回答