internal SheetReader(Stream sheetXmlStream, XslxSharedStringsStream xlsxSharedStringsStream, XslxIsDateTimeStream xlsxIsDateTimeStream, ReadNextBehaviour readNextBehaviour) { _xlsxSharedStringsStream = xlsxSharedStringsStream; _xlsxIsDateTimeStream = xlsxIsDateTimeStream; _values = new Dictionary <string, object>(); _xmlReader = XmlReader.Create(sheetXmlStream); _readNextBehaviour = readNextBehaviour; GetDimension(); }
private void Initialize() { _archive = new ZipArchive(_fileStream, ZipArchiveMode.Read); //CSH 28012020 - We order by the length of the name string then by the name itself, so that Sheet10 appears immediately //after Sheet9 rather than after Sheet1 _worksheetEntries = _archive.Entries.Where(x => x.FullName.StartsWith("xl/worksheets/sheet")) .OrderBy(x => x.Name.Length) .ThenBy(x => x.Name) .ToArray(); var sharedStringsEntry = _archive.Entries.FirstOrDefault(x => x.FullName.EndsWith("sharedStrings.xml")); if (sharedStringsEntry != null) { SharedStringsStream = new XslxSharedStringsStream(sharedStringsEntry.Open()); } IsDateTimeStream = new XslxIsDateTimeStream(_archive.Entries.First(x => x.FullName.EndsWith("styles.xml")).Open()); }