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

标签 c# excel data-binding vsto office-2007

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

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

最佳答案

使用 VSTO,您有以下几种选择:

  1. 来自 Excel.Worksheet 类,您可以访问Worksheet.Change事件。
  2. 来自 NamedRange类,您可以访问NamedRange.Change事件(它使用您在另一条评论中提到的 Microsoft.Office.Interop.Excel.DocEvents_ChangeEventHandler 委托(delegate))。
  3. NamedRange 类还支持通过 DataBindings 进行简单的单向数据绑定(bind)。属性,其示例见讨论 How do I bind an array to a NamedRange
  4. 另一种可能性是 XmlMappedRange控件,它还支持数据绑定(bind)。

关于使用 NamedRange 和 XmlMappedRange 的良好入门可以在这里找到:The VSTO Programming Model 。使用 NamedRange 的不错的演练可以在 Visual Studio Tools for Office (VSTO) 2005 Guided Tour 中找到。 .

我希望这会有所帮助...

迈克

关于c# - 使用 C#/VSTO 监视 excel 2007 内的一系列单元格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1830726/

相关文章:

javascript - KnockoutJS 的 contenteditable 绑定(bind)

c# - 在哪里管理我的大多数 Controller 操作方法中使用的通用 void 方法

c# - 使用 Oracle Managed Driver Core 的 asp.net core docker 容器。打开连接时抛出 ORA-00604 和 ORA-01882

sql-server - 将包含数据的列更改为现有表

javascript - 如何在 HTML/CSS/JS 中实现类似 Excel 2007 数据栏的功能?

wpf - 将 WPF ComboBox 绑定(bind)到 ListBox DataTemplate 中的不同 ItemsSource

c# - MessageBox 没有获得焦点

c# - 我怎么知道我的代码中的什么触发了这个“System.ObjectDisposedException”?

Excel VBA - Range.Clear 不清除单元格

wpf - WPF 数据绑定(bind)是否让事情变得比它的值(value)更痛苦?