public XlsxWorkbook(ZipWorker zipWorker) { _zipWorker = zipWorker; ReadWorkbook(); ReadWorkbookRels(); ReadSharedStrings(); ReadStyles(); }
public XlsxWorksheet(ZipWorker document, XlsxWorkbook workbook, XlsxBoundSheet refSheet) { Document = document; Workbook = workbook; Name = refSheet.Name; Id = refSheet.Id; Rid = refSheet.Rid; VisibleState = refSheet.VisibleState; Path = refSheet.Path; ReadWorksheetGlobals(); }
public XlsxWorksheet(ZipWorker document, XlsxWorkbook workbook, XlsxBoundSheet refSheet) { Document = document; Workbook = workbook; Name = refSheet.Name; Id = refSheet.Id; Rid = refSheet.Rid; VisibleState = refSheet.VisibleState; Path = refSheet.Path; DefaultRowHeight = 12.75; // 255 twips ReadWorksheetGlobals(); }
public XlsxWorkbook(ZipWorker zipWorker) { _defaultDateTimeStyles = new List <int>(new[] { 14, 15, 16, 17, 18, 19, 20, 21, 22, 45, 46, 47 }); _zipWorker = zipWorker; ReadWorkbook(); ReadWorkbookRels(); ReadSharedStrings(); ReadStyles(); CheckDateTimeNumFmts(Styles.NumFmts); }
public XlsxWorksheet(ZipWorker document, XlsxWorkbook workbook, SheetRecord refSheet) { Document = document; Workbook = workbook; Name = refSheet.Name; Id = refSheet.Id; Rid = refSheet.Rid; VisibleState = refSheet.VisibleState; Path = refSheet.Path; DefaultRowHeight = 15; if (string.IsNullOrEmpty(Path)) { return; } using var sheetStream = Document.GetWorksheetReader(Path); if (sheetStream == null) { return; } int rowIndexMaximum = int.MinValue; int columnIndexMaximum = int.MinValue; List <Column> columnWidths = new List <Column>(); List <CellRange> cellRanges = new List <CellRange>(); bool inSheetData = false; Record record; while ((record = sheetStream.Read()) != null) { switch (record) { case SheetDataBeginRecord _: inSheetData = true; break; case SheetDataEndRecord _: inSheetData = false; break; case RowHeaderRecord row when inSheetData: rowIndexMaximum = Math.Max(rowIndexMaximum, row.RowIndex); break; case CellRecord cell when inSheetData: columnIndexMaximum = Math.Max(columnIndexMaximum, cell.ColumnIndex); break; case ColumnRecord column: columnWidths.Add(column.Column); break; case SheetFormatPrRecord sheetFormatProperties: if (sheetFormatProperties.DefaultRowHeight != null) { DefaultRowHeight = sheetFormatProperties.DefaultRowHeight.Value; } break; case SheetPrRecord sheetProperties: CodeName = sheetProperties.CodeName; break; case MergeCellRecord mergeCell: cellRanges.Add(mergeCell.Range); break; case HeaderFooterRecord headerFooter: HeaderFooter = headerFooter.HeaderFooter; break; } } ColumnWidths = columnWidths.ToArray(); MergeCells = cellRanges.ToArray(); if (rowIndexMaximum != int.MinValue && columnIndexMaximum != int.MinValue) { FieldCount = columnIndexMaximum + 1; RowCount = rowIndexMaximum + 1; } }