2011-06-13 52 views
0

我有一個綁定到MVVM集合類的wpf數據網格。我有一些MVVM類的屬性綁定到數據網格,但不是每個。導出wpf數據網格到自定義Excel CSV文件

我需要從數據網格導出Excel CSV文件中的數據。但是有一些MVVM類的屬性沒有綁定到datagrid,但需要在Excel文件中顯示。所以我需要創建自定義列(來自datagrid的列+一些額外的)。

這裏是我使用當前創建的Excel CSV文件中的代碼:

importedDG.SelectAllCells(); 
importedDG.ClipboardCopyMode = DataGridClipboardCopyMode.IncludeHeader; 
ApplicationCommands.Copy.Execute(null, importedDG); 
importedDG.UnselectAllCells(); 
string path1 = "C:\\test.csv"; 
string result1 = (string)Clipboard.GetData(DataFormats.CommaSeparatedValue); 
Clipboard.Clear(); 
System.IO.StreamWriter file1 = new System.IO.StreamWriter(path1); 
file1.WriteLine(result1);file1.Close(); 

這將創建從DG確切列,但沒有多餘的,我想要的文件。我如何添加它們?

+0

你在哪個部分掙扎? – 2011-06-13 16:06:35

+0

我可以使用相同的datagrid列創建excel文件,但是如何添加datagrid中沒有的額外列。 – alice7 2011-06-13 16:11:46

+0

你現在如何創建excel文件? – 2011-06-13 16:20:44

回答

1

我猜你正在使用網格控件的方法來產生CSV?你沒有在你的問題中表達過多。

如果是這樣,我會將這個責任轉移到您的視圖模型。您可以使用CSV庫(例如KBCsv)來執行寫入數據的任務。

+0

我收到一個錯誤:程序集生成失敗時引用和編譯它。 – alice7 2011-06-13 17:14:42

+0

我已經解決了它,但現在我正在爲csvwriter獲得initilizer錯誤。 – alice7 2011-06-13 17:42:59

+0

我確實已經解決了。但是,如果我需要在數據之前在標題列之前放置日期等數據。有什麼辦法嗎? – alice7 2011-06-14 17:30:25