将Dictionary <String,String>复制到Excel的剪贴板

我想写一个工具,它将比较两个string表,并find在一个,而不是其他的值。 我已经得到了应用程序,所以它正确得到所有这些值,我把它们存储在一个Dictionary<string, string>并使用它来显示它在我的XAML中的GridView。

然后我发现,你必须手动添加复制代码到GridView,所以我想我只是有一个button来复制字典的全部内容,但现在我有一个问题,当我试图将其复制到Excel它只产生一列的值,我需要的关键是一列和值是另一个。

这是我的复制代码到目前为止:

  if (ToTranslate.Count != 0) { var sb = new StringBuilder(); foreach (var item in ToTranslate) { sb.Append(item.Key + ", "); sb.AppendLine(item.Value); } System.Windows.Clipboard.SetData(DataFormats.Text, sb.ToString()); } 

我已经尝试了很多其他的东西,如item.string,把它们放在方括号,仍然无法正常工作。 我也尝试修剪方括号,但这仍然无法正常工作。

我会认为它会拿起逗号作为一个分隔符,就像你打开一个csv时一样,但是没有。

我不知道这是否会有所帮助,但这是我的XAML

  <ListView ItemsSource="{Binding Results}"> <ListView.View> <GridView> <GridViewColumn Header="Name" Width="100" DisplayMemberBinding="{Binding Key}" /> <GridViewColumn Header="Text" Width="Auto" DisplayMemberBinding="{Binding Value}" /> </GridView> </ListView.View> </ListView> 

Excel喜欢用制表符作为分隔符。 要导入CSV,您需要Excel的导入保存,并且只有打开包含CSV数据的文件时才会打开。

使用制表符运行得很好。