2011-06-13 107 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