EPPlus错误读取文件

时间:2017-06-20 17:27:25

标签: c# openxml epplus

使用

之类的代码
using OfficeOpenXml;  // namespace for the ExcelPackage assembly
…
FileInfo newFile = new FileInfo(@"C:\mynewfile.xlsx"); 
using (ExcelPackage xlPackage = new ExcelPackage(newFile)) { … }

我收到

的异常错误
  

'IBM437'不是受支持的编码名称。有关定义的信息   自定义编码,请参阅文档   Encoding.RegisterProvider方法。参数名称:名称

关于问题可能是什么想法?

由于 马丁

2 个答案:

答案 0 :(得分:2)

问题出在ZIP文件阅读器(ZipInputStream)中。您需要手动添加windows-1252这样的编码:

  1. dotnet add package System.Text.Encoding.CodePages

  2. Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);

  3. 此处有更多信息:.NET Core doesn't know about Windows 1252, how to fix?

答案 1 :(得分:0)

如果您的项目是.net核心,请编辑您的项目文件,然后添加

<ItemGroup>
<PackageReference Include="System.Text.Encoding.CodePages" Version="4.3.0" />
</ItemGroup>

并在您的startup.cs

添加

System.Text.Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);