问题
using code like
using OfficeOpenXml; // namespace for the ExcelPackage assembly
…
FileInfo newFile = new FileInfo(@"C:\mynewfile.xlsx");
using (ExcelPackage xlPackage = new ExcelPackage(newFile)) { … }
I get an exception error of
'IBM437' is not a supported encoding name. For information on defining a custom encoding, see the documentation for the Encoding.RegisterProvider method. Parameter name: name
Any ideas as to what the problem could be?
Thanks Martin
回答1:
The problem is in the ZIP file reader (ZipInputStream
). You need to add the encodings like windows-1252
manually:
dotnet add package System.Text.Encoding.CodePages
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
More info here: .NET Core doesn't know about Windows 1252, how to fix?
回答2:
if your project is .net core edit your project file then add
<ItemGroup>
<PackageReference Include="System.Text.Encoding.CodePages" Version="4.3.0" />
</ItemGroup>
and in your startup.cs
add
System.Text.Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
来源:https://stackoverflow.com/questions/44659499/epplus-error-reading-file