是否有一种将WPF DataGrid导出到文本文件和.csv文件的简单方法?我做了一些搜索,但是看不到有一个简单的DataGrid方法。通过使用DataGrid的ItemsSource,我得到了一些工作(几乎没有)。在我的例子中,这是一个结构数组。我使用StreamWriters和StringBuilders做了一些事情(详情可用),基本上有:
StringBuilder destination = new StringBuilder();
destination.Append(row.CreationDate);
destination.Append(seperator); // seperator is '\t' or ',' for csv file
destination.Append(row.ProcId);
destination.Append(seperator);
destination.Append(row.PartNumber);
destination.Append(seperator);
我为数组中的每个结构(循环中)执行此操作。这很好用。问题是阅读文本文件并不容易。数据在同一列中可以具有不同的长度。我希望看到类似的东西: 2007-03-03 234238423823 823829923 2007-03-03 66 99 当然,我得到的结果如下: 2007-03-03 234238423823 823829923 2007-03-03 66 99
让我使用Tab分隔符并不奇怪,但我希望能做得更好。它当然很容易在DataGrid中阅读!我当然可以用空格来填充短值,但这看起来很混乱。我想可能有更好的方法。我也有一种感觉,这是一个常见的问题,而且之前可能已经解决了(希望在.NET类本身内)。
感谢。
答案 0 :(得分:1)
我认为目标是尽可能以所见即所得。在那种情况下,我会:
下一步取决于导出类型:
使用实际DataGridRow,DataGridCell和DataGridColumn对象的原因是准确地写出最终用户看到的内容。例如,您可以跳过隐藏的列,在绑定中应用字符串格式,荣誉过滤/分组/排序等。
答案 1 :(得分:0)
我会使用网格的Application.Copy功能,选择all然后复制代码,然后你可以解析剪贴板帮助数据,这些数据是csv,html和其他一些格式。