Example #1
0
 public ExcelOpenXmlZip(Stream fileStream, ZipArchiveMode mode = ZipArchiveMode.Read, bool leaveOpen = false, Encoding entryNameEncoding = null)
 {
     _zipStream = fileStream ?? throw new ArgumentNullException(nameof(fileStream));
     ZipFile    = new MiniExcelZipArchive(fileStream, mode, leaveOpen, entryNameEncoding);
     _entries   = new Dictionary <string, ZipArchiveEntry>(StringComparer.OrdinalIgnoreCase);
     Entries    = ZipFile.Entries;    //TODO:need to remove
     foreach (var entry in ZipFile.Entries)
     {
         _entries.Add(entry.FullName.Replace('\\', '/'), entry);
     }
 }
Example #2
0
        private void Dispose(bool disposing)
        {
            // Check to see if Dispose has already been called.
            if (!_disposed)
            {
                if (disposing)
                {
                    if (zipFile != null)
                    {
                        zipFile.Dispose();
                        zipFile = null;
                    }
                }

                _disposed = true;
            }
        }
Example #3
0
        public ExcelOpenXmlZip(Stream fileStream, ZipArchiveMode mode = ZipArchiveMode.Read, bool leaveOpen = false, Encoding entryNameEncoding = null)
        {
            zipFile  = new MiniExcelZipArchive(fileStream, mode, leaveOpen, entryNameEncoding);
            _entries = new Dictionary <string, ZipArchiveEntry>(StringComparer.OrdinalIgnoreCase);
            try
            {
                entries = zipFile.Entries; //TODO:need to remove
            }
            catch (InvalidDataException e)
            {
                throw new InvalidDataException($"It's not legal excel zip, please check or issue for me. {e.Message}");
            }

            foreach (var entry in zipFile.Entries)
            {
                _entries.Add(entry.FullName.Replace('\\', '/'), entry);
            }
        }
Example #4
0
        private void Dispose(bool disposing)
        {
            // Check to see if Dispose has already been called.
            if (!_disposed)
            {
                if (disposing)
                {
                    if (ZipFile != null)
                    {
                        ZipFile.Dispose();
                        ZipFile = null;
                    }

                    if (_zipStream != null)
                    {
                        _zipStream.Dispose();
                        _zipStream = null;
                    }
                }

                _disposed = true;
            }
        }