我从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()),那么我得到错误的价值观:
答案 0 :(得分:2)
您可以将错误的字符串转换为正确的编码,如下所示:
Console.WriteLine(encodingHU.GetString(Encoding.Default.GetBytes(str)));
答案 1 :(得分:0)
我使用了 ExcelDataReader。我需要编码 1250
ExcelReaderConfiguration conf = new ExcelReaderConfiguration();
conf.FallbackEncoding = Encoding.GetEncoding(1250);
using (IExcelDataReader reader = ExcelReaderFactory.CreateReader(stream, conf))
{
...
}