diff --git a/EPPlus/EPPlusSDK.csproj b/EPPlus/EPPlusSDK.csproj
index b7b2a88..43e37d1 100644
--- a/EPPlus/EPPlusSDK.csproj
+++ b/EPPlus/EPPlusSDK.csproj
@@ -5,8 +5,8 @@
     <AssemblyName>EPPlus</AssemblyName>
     <SignAssembly>true</SignAssembly>
     <AssemblyOriginatorKeyFile>OpenOfficeXml.snk</AssemblyOriginatorKeyFile>
-    <PackageId>Appsheet.EPPlus</PackageId>
-    <Version>1.0.1</Version>
+    <PackageId>Apsheet.EPPlus</PackageId>
+    <Version>1.0.2</Version>
     <DefaultItemExcludes>$(DefaultItemExcludes);Properties/AssemblyInfo.cs;FormulaParsing/LexicalAnalysis/TokenSeparatorHandlers/**;FormulaParsing/LexicalAnalysis/TokenHandler.cs;FormulaParsing/Excel/Functions/Math/Rank.cs</DefaultItemExcludes>
     <DefineConstants>Core;STANDARD20</DefineConstants>
   </PropertyGroup>
diff --git a/EPPlus/Packaging/DotNetZip/Shared.cs b/EPPlus/Packaging/DotNetZip/Shared.cs
index b03d27b..ca8f18c 100644
--- a/EPPlus/Packaging/DotNetZip/Shared.cs
+++ b/EPPlus/Packaging/DotNetZip/Shared.cs
@@ -159,7 +159,7 @@
         }
 
 
-        static System.Text.Encoding ibm437 = System.Text.Encoding.GetEncoding("IBM437");
+        static System.Text.Encoding ibm437 = System.Text.Encoding.ASCII;
         static System.Text.Encoding utf8 = System.Text.Encoding.GetEncoding("UTF-8");
 
         internal static byte[] StringToByteArray(string value, System.Text.Encoding encoding)
diff --git a/EPPlus/Packaging/DotNetZip/ZipEntry.cs b/EPPlus/Packaging/DotNetZip/ZipEntry.cs
index c77b579..7d727d0 100644
--- a/EPPlus/Packaging/DotNetZip/ZipEntry.cs
+++ b/EPPlus/Packaging/DotNetZip/ZipEntry.cs
@@ -57,7 +57,7 @@
             _CompressionLevel = Ionic.Zlib.CompressionLevel.Default;
             _Encryption = EncryptionAlgorithm.None;
             _Source = ZipEntrySource.None;
-            AlternateEncoding = System.Text.Encoding.GetEncoding("IBM437");
+            AlternateEncoding = System.Text.Encoding.ASCII;
             AlternateEncodingUsage = ZipOption.Never;
         }
 
@@ -2717,8 +2717,8 @@
         private bool _skippedDuringSave;
         private UInt32 _diskNumber;
 
-        private static System.Text.Encoding ibm437 = System.Text.Encoding.GetEncoding("IBM437");
-        //private System.Text.Encoding _provisionalAlternateEncoding = System.Text.Encoding.GetEncoding("IBM437");
+        private static System.Text.Encoding ibm437 = System.Text.Encoding.ASCII;
+        //private System.Text.Encoding _provisionalAlternateEncoding = System.Text.Encoding.ASCII;
         private System.Text.Encoding _actualEncoding;
 
         internal ZipContainer _container;
diff --git a/EPPlus/Packaging/DotNetZip/ZipFile.cs b/EPPlus/Packaging/DotNetZip/ZipFile.cs
index d0a14fe..7edaff5 100644
--- a/EPPlus/Packaging/DotNetZip/ZipFile.cs
+++ b/EPPlus/Packaging/DotNetZip/ZipFile.cs
@@ -3632,9 +3632,9 @@
         private Int64 _OffsetOfCentralDirectory64;
         private Nullable<bool> _OutputUsesZip64;
         internal bool _inExtractAll;
-        private System.Text.Encoding _alternateEncoding = System.Text.Encoding.GetEncoding("IBM437"); // UTF-8
+        private System.Text.Encoding _alternateEncoding = System.Text.Encoding.ASCII; // UTF-8
         private ZipOption _alternateEncodingUsage = ZipOption.Never;
-        private static System.Text.Encoding _defaultEncoding = System.Text.Encoding.GetEncoding("IBM437");
+        private static System.Text.Encoding _defaultEncoding = System.Text.Encoding.ASCII;
 
         private int _BufferSize = BufferSizeDefault;
 
diff --git a/EPPlus/Packaging/DotNetZip/ZipInputStream.cs b/EPPlus/Packaging/DotNetZip/ZipInputStream.cs
index 9b879b4..30d15ad 100644
--- a/EPPlus/Packaging/DotNetZip/ZipInputStream.cs
+++ b/EPPlus/Packaging/DotNetZip/ZipInputStream.cs
@@ -346,7 +346,7 @@
             if (!_inputStream.CanRead)
                 throw new ZipException("The stream must be readable.");
             _container= new ZipContainer(this);
-            _provisionalAlternateEncoding = System.Text.Encoding.GetEncoding("IBM437");
+            _provisionalAlternateEncoding = System.Text.Encoding.ASCII;
             _leaveUnderlyingStreamOpen = leaveOpen;
             _findRequired= true;
             _name = name ?? "(stream)";
@@ -826,4 +826,4 @@
 
 
 
-}
\ No newline at end of file
+}
diff --git a/EPPlus/Packaging/DotNetZip/ZipOutputStream.cs b/EPPlus/Packaging/DotNetZip/ZipOutputStream.cs
index 96c16be..6ad801a 100644
--- a/EPPlus/Packaging/DotNetZip/ZipOutputStream.cs
+++ b/EPPlus/Packaging/DotNetZip/ZipOutputStream.cs
@@ -1022,7 +1022,7 @@
         {
             get
             {
-                return System.Text.Encoding.GetEncoding("IBM437");
+                return System.Text.Encoding.ASCII;
             }
         }
 
@@ -1616,7 +1616,7 @@
         private int _entryCount;
         private ZipOption _alternateEncodingUsage = ZipOption.Never;
         private System.Text.Encoding _alternateEncoding
-            = System.Text.Encoding.GetEncoding("IBM437"); // default = IBM437
+            = System.Text.Encoding.ASCII; // default = IBM437
 
         private bool _leaveUnderlyingStreamOpen;
         private bool _disposed;
@@ -1815,4 +1815,4 @@
         }
     }
 
-}
\ No newline at end of file
+}
