سلام
من برای انتقال داده ها از دیتا گرید به اکسل از کد زیر استفاده کردم:
 private void Button_Click(object sender, RoutedEventArgs e)
{
mainDataGrid.SelectAllCells();
mainDataGrid.ClipboardCopyMode = DataGridClipboardCopyMode.IncludeHeader;
ApplicationCommands.Copy.Execute(null, mainDataGrid);
String resultat = (string)Clipboard.GetData(DataFormats.CommaSeparat edValue);
String result = (string)Clipboard.GetData(DataFormats.Text);
mainDataGrid.UnselectAllCells();
System.IO.StreamWriter file1 = new System.IO.StreamWriter(@"D:\test.xls");
file1.WriteLine(result.Replace(',', ' '));
file1.Close();
MessageBox.Show("OK");
}

داده های من در یک فایل اکسل در درایو D ذخیره می شود ولی وقتی فایل اکسل را باز می کنم،ابتدا پیام زیر را نمایش می دهد:
1.JPG
سپس با زدن YES اکسل باز می شود،ولی داده ها را به شکل زیر نمایش می دهد(تنها اعداد و حروف فارسی را درست نمایش می دهد.حروف انگلیسی را با عبارات نامفهوم نمایش می دهد)!
2.JPG