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 回答
0

我使用 ExcelDataReader。我需要编码 1250

ExcelReaderConfiguration conf = new ExcelReaderConfiguration();
conf.FallbackEncoding = Encoding.GetEncoding(1250);

using (IExcelDataReader reader = ExcelReaderFactory.CreateReader(stream, conf))
{
...
}



                    
于 2021-06-15T07:31:58.303 回答