0

列名をExcelファイルからtxtファイルにコピーしました。次の方法でtxtファイルから読み取ります。

CultureInfo cultureHU;
Encoding encodingHU;
cultureHU = CultureInfo.GetCultureInfo("hu-HU");
encodingHU = Encoding.GetEncoding(cultureHU.TextInfo.ANSICodePage);
using (StreamReader sr = new StreamReader("settings.txt", encodingHU, true))
{
...
}

同じエンコーディングの Excel ファイルから読み取るにはどうすればよいですか? デフォルトの方法 (xlRange.Cells[1, i].Value.ToString()) で行うと、間違った値が得られます。

  • 私が持っているExcelとtxtファイルで:「Szerzõdõ」
  • encodingHUエンコーディングでテキスト ファイルから読み取ると、次のようになります: "Szerződő" (これは正しい形式です)
  • C# で Excel から読み取ると、「Szerzõdõ」と表示されます
4

2 に答える 2

2

次のように、不正な文字列を正しいエンコーディングに変換できます。

Console.WriteLine(encodingHU.GetString(Encoding.Default.GetBytes(str)));
于 2012-11-18T01:51:10.543 に答える