从observablecollection导出到excel C#

我试图将WPF数据网格导出到Excel工作表,但我不断收到错误。 我已经find这个例子,但是我不知道如何从可观察的集合中导出。 在这个例子中,似乎有一个列表。 所以我觉得我必须从名单上选出可观察的collections品,但是我不能把它弄清楚。 我仍然对C#和WPF的function很陌生,所以任何帮助都非常感谢。

将WPF DataGrid导出到Excel

http://www.codeproject.com/Articles/120480/Export-to-Excel-Functionality-in-WPF-DataGrid

我的代码

private ObservableCollection<T_P> _observableCollection; private CollectionViewSource _collectionViewSource; public ExportExcel() { InitializeComponent(); using (var dc = new DataClasses2DataContext()) { _observableCollection = new ObservableCollection<T_P>(dc.T_Ps); } _collectionViewSource = (CollectionViewSource)this.FindResource("_T_PViewSource") as CollectionViewSource; _collectionViewSource.Source = _observableCollection; this.T_P = new T_P(); this.DataContext = T_P; } private void btnExportExcel_Click(object sender, RoutedEventArgs e) { ExportToExcel(); //some code here? } 

//我怎样称呼这个class?

  public class ExportToExcel<T> where T : class { public List<T> dataToPrint; // Excel object references. private Excel.Application _excelApp = null; private Excel.Workbooks _books = null; private Excel._Workbook _book = null; private Excel.Sheets _sheets = null; private Excel._Worksheet _sheet = null; private Excel.Range _range = null; private Excel.Font _font = null; // Optional argument variable private object _optionalValue = Missing.Value; 

// ……

你的代码是不完整的,所以很难说清楚,但是它依然是这样的:

 private void btnExportExcel_Click(object sender, RoutedEventArgs e) { var exporter = new ExportToExcel<T_P>() { dataToPrint = new List<T_P>(_observableCollection); }; }