VS Code C# - System.NotSupportedException: нет данных для кодировки 1252
Я пытаюсь использовать ExcelDataReader для чтения файла.xls в Ubuntu. Я использую VS Code с C#. Вот код:
var stream = File.Open(filePath, mode: FileMode.Open, access: FileAccess.Read);
var reader = ExcelReaderFactory.CreateReader(stream);
Я также попробовал это:
var reader = ExcelDataReader.ExcelReaderFactory.CreateBinaryReader(stream);
Когда я бегу, я получаю следующее исключение:
Необработанное исключение: System.NotSupportedException: нет данных, доступных для кодировки 1252. Информацию об определении пользовательской кодировки см. В документации по методу Encoding.RegisterProvider. в System.Text.Encoding.GetEncoding(кодовая страница Int32)
Я уже установил libmono-i18n-west4.0-cil
(пробовал также с libmono-i18n4.0-all
), как я узнал, некоторые люди рекомендуют это, но проблема сохраняется. Также установлен пакет System.Text.Encoding.CodePages
безуспешно.
Кто-нибудь может помочь решить это?
1 ответ
Я столкнулся с той же проблемой с приложением.net Core. Я добавил System.Text.Encoding.CodePages
пакет nuget и ранее зарегистрирован провайдер кодирования ExcelReaderFactory.CreateReader(stream)
который решил проблему.
System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);
//open file and returns as Stream
using (var stream = File.Open(fileName, FileMode.Open, FileAccess.Read))
{
using (var reader = ExcelReaderFactory.CreateReader(stream))
{
}
}