2015-08-27 4 views
0

Я пытаюсь экспортировать файл данных WPF на лист Excel, но я продолжаю получать ошибки. Я нашел эти примеры, но я не знаю, как экспортировать из наблюдаемого коллекционирования. В этом примере кажется, что есть список. Поэтому я думаю, что мне нужно отбрасывать из списка в наблюдаемый коллекцию, но я не могу понять это правильно. Я по-прежнему новичок в функциональности в C# и WPF, поэтому любая помощь очень ценится.Экспорт в excel from observablecollection C#

Export WPF DataGrid to 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? 
    } 

// Как я могу назвать этот класс?

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; 

// ......

+0

шоу 'ExportToExcel' конструктор – thumbmunkeys

ответ

1

Ваш код является неполным, так что трудно сказать, но она идет вдоль этих линий:

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

} 
+0

благодарю вас очень. :-) Некоторые из кода работали с некоторыми изменениями. 'Частная пустота btnExportExcel_Click (объект отправитель, RoutedEventArgs е) { использования (вар DC = новый DataClasses2DataContext()) { _observableCollection = новый ObservableCollection (dc.T_Ps); ExportToExcel s = новый ExportToExcel (); s.dataToPrint = новый Список (_observableCollection); s.GenerateReport(); } } ' – userJJL

+0

добро пожаловать! если на него ответят, отметьте его – thumbmunkeys