c# 用 Excel 打开的正确 CSV 编码是什么?

What is the right CSV encoding for c# to open with Excel?

我使用基于 StreamWriter 的 C# CSVWriter 编写了一个 CSV。 在我的数据中,我有很多特殊字符,例如 "Bávaro".

因此,当我使用 UTF-8 或 ASCII 编码我的 CSV 时,我无法获得“á”,但之后我可以在 Excel 中完美地打开它。 当我使用 Unicode 时,我的 CSV 具有正确的字符,但实际上当我在 Excel 中打开此 CSV 时,它不会像我的其他 CSV 一样自动排序,所有值都在第一列中作为字符串....

这里的正确编码是什么?

我建议使用 Windows ANSI Codepage 1252,您可以通过以下方式获得:

Encoding.GetEncoding(1252)

它支持像“á”这样的字符,并且从 Excel 2003 年到 Excel 2013 年运行良好。

使用此编码导出您的 CSV Encoding.GetEncoding("Windows-1252")