VS Code C# – System.NotSupportedException:没有数据可用于编码1252

我试图使用ExcelDataReader读取Ubuntu上的.xls文件。 我在C#中使用VS Code。 这是代码:

var stream = File.Open(filePath, mode: FileMode.Open, access: FileAccess.Read); var reader = ExcelReaderFactory.CreateReader(stream); 

我也试过这个:

 var reader = ExcelDataReader.ExcelReaderFactory.CreateBinaryReader(stream); 

当我运行时,我得到以下exception:

未处理的exception:System.NotSupportedException:没有可用于编码的数据1252.有关定义自定义编码的信息,请参阅Encoding.RegisterProvider方法的文档。 在System.Text.Encoding.GetEncoding(Int32代码页)

我已经安装了libmono-i18n-west4.0-cil (也尝试使用libmono-i18n4.0-all ),因为我发现有人推荐这个,但问题仍然存在。 还安装了System.Text.Encoding.CodePages包,但没有成功。

谁能帮忙解决这个问题?

我遇到了与.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)) { } }