Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用C#/VSTO监视excel 2007中的一系列单元格_C#_Excel_Data Binding_Vsto_Office 2007 - Fatal编程技术网

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

使用C#/VSTO监视excel 2007中的一系列单元格,c#,excel,data-binding,vsto,office-2007,C#,Excel,Data Binding,Vsto,Office 2007,我想将excel中的一行转换为C#中的ObservableCollection,用于绑定/事件目的,这样所有访问器类都知道它们从源excel工作表中获取最新数据。如何做到这一点 澄清:我使用的是excel加载项项目,而不是工作簿项目,因此不确定XMLMappedRange控件是否是一个选项。您可以在范围更改事件中添加OnChanged。使用VSTO您有几个选项: 从类中,您可以访问事件。 从类中,您可以访问事件(它使用您在另一条注释中提到的Microsoft.Office.Interop.Exc

我想将excel中的一行转换为C#中的ObservableCollection,用于绑定/事件目的,这样所有访问器类都知道它们从源excel工作表中获取最新数据。如何做到这一点


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

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

使用VSTO您有几个选项:

  • 从类中,您可以访问事件。
  • 从类中,您可以访问事件(它使用您在另一条注释中提到的Microsoft.Office.Interop.Excel.DocEvents\u ChangeEventHandler委托)。
  • NamedRange类还支持通过属性进行简单的单向数据绑定,讨论中给出了一个示例。
  • 另一种可能性是控件,它也支持数据绑定。 关于使用NamedRange和XmlMappedRange的入门知识,可以在以下位置找到:。可以在中找到使用NamedRange的不错的演练

    我希望这有助于


    迈克

    对不起,你能说得更具体一点吗?我使用的是外接程序,不是工作簿项目。我将通过哪个程序集访问范围更改事件?我看到了Microsoft.Office.Interop.Excel.DocEvents\u ChangeEventHandler,但不确定这是否是您的意思,因为它似乎是文档级处理程序,而不是范围级处理程序。没问题,很高兴它有所帮助,Daniel.:-)