更改Clipobard.GetData()的csv分隔符

时间:2016-09-07 14:20:14

标签: c# wpf datagrid export-to-csv

我尝试通过copy datagrid将数据网格保存为csv,根据这篇文章: Copy text from WPF DataGrid to Clipboard to Excel

导出有效,但列分隔符为“,”,但我使用带有“;”分隔符字符的德语区域设置。孔文本在一列中:(

我可以更改DataFormats.CommaSeparatedValue分隔符吗?

谢谢你,祝你有愉快的一天

克里斯

3 个答案:

答案 0 :(得分:0)

不确定是否可以更改分隔符。如果找不到方法,可以随时执行此操作:

string result1 = ((string)Clipboard.GetData(DataFormats.CommaSeparatedValue)).Replace(";",",");

答案 1 :(得分:0)

据我所知,你无法改变它。

我同意某人在your link中所说的内容 - 你不应该将csv数据保存到xls文件中。当您使用excel打开.csv文件时,它会在您导入之前询问您要使用的分隔符。

如果您想在保存前更改分隔符,请查看this post。 确保还要查看该答案中的链接 - 您需要使用Microsoft.VisualBasic.FileIO命名空间。

但是,如果您仍然决定另存为.xls,请注意 - 您可能会将分隔符更改为“;”在保存之前,但是那些excel期望','作为分隔符的人会遇到与你现在相同的问题。

答案 2 :(得分:0)

我通过保存DataTable而不是DataGrid来解决问题。下面链接中的DataTableExtensions类运行良好。

c# datatable to csv

由于