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); } }
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; } }
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); } }
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; } }