以好看的格式将WPF DataGrid导出到文本文件。文本文件必须易于阅读
有没有简单的方法将WPF数据网格导出到文本文件和.csv文件?我已经做了一些搜索,但看不到有一个简单的DataGrid方法可以做到这一点。通过使用DataGrid的ItemsSource,我已经(勉强)实现了一些功能。在我的例子中,这是一个结构数组。我使用StreamWriter和StringBuilder(详细信息可用)做了一些工作,基本上有:以好看的格式将WPF DataGrid导出到文本文件。文本文件必须易于阅读,wpf,export-to-excel,export-to-text,Wpf,Export To Excel,Export To Text,有没有简单的方法将WPF数据网格导出到文本文件和.csv文件?我已经做了一些搜索,但看不到有一个简单的DataGrid方法可以做到这一点。通过使用DataGrid的ItemsSource,我已经(勉强)实现了一些功能。在我的例子中,这是一个结构数组。我使用StreamWriter和StringBuilder(详细信息可用)做了一些工作,基本上有: StringBuilder destination = new StringBuilder(); destination.Append(row.Cre
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
我使用制表符分隔符并不奇怪,但我希望做得更好。在DataGrid中阅读当然很容易!我当然可以用空格填充短值,但这看起来相当混乱。我想可能有更好的办法。我也有一种感觉,这是一个常见的问题,而且以前可能已经解决过(希望在.NET类本身中)
谢谢。我想目标是尽可能做到所见即所得。在这种情况下,我将:
- 对于csv导出,我会将每个字符串[]中的所有字符串附加在引号内,并在它们之间加逗号,然后将它们写出
- 对于纯文本导出,我会将每个字符串[]中的所有字符串(用空格填充)附加到该列的最大字符串长度的1+,然后将它们写出
使用实际的DataGridRow、DataGridCell和DataGridColumn对象的原因是为了准确地写出最终用户看到的内容。例如,您可以跳过隐藏列、在绑定中应用字符串格式、荣誉筛选/分组/排序等。我将使用该应用程序。复制网格的功能,选择全部,然后在代码中复制,然后您可以解析剪贴板帮助器数据,该数据采用csv、html和其他一些格式