Jak widać na załączonym obrazku, nie wypełnia się domyślna nazwa pliku, oraz "Zapisz jako typ" ustawia się na *.txt zamiast *.csv.
Z pomocą przychodzi kodowanie Windows-1250.
var encoding = Encoding.GetEncoding("windows-1250"); byte[] bytes = encoding.GetBytes(csv.Replace("\r\n", "\n")); bytes = encoding.GetPreamble().Concat(bytes).ToArray();
Dzięki temu Excel nadal wyświetla poprawne znaki, ale dodatkowo nie tracimy poprawnych wartości w "Zapisz jako".