diff --git a/ClosedXML/Excel/ContentManagers/XLWSContentManager.cs b/ClosedXML/Excel/ContentManagers/XLWSContentManager.cs deleted file mode 100644 index 0f67b92..0000000 --- a/ClosedXML/Excel/ContentManagers/XLWSContentManager.cs +++ /dev/null @@ -1,111 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using DocumentFormat.OpenXml; -using DocumentFormat.OpenXml.Spreadsheet; - -namespace ClosedXML.Excel -{ - internal class XLWSContentManager - { - public enum XLWSContents - { - SheetProperties = 1, - SheetDimension = 2, - SheetViews = 3, - SheetFormatProperties = 4, - Columns = 5, - SheetData = 6, - SheetCalculationProperties = 7, - SheetProtection = 8, - ProtectedRanges = 9, - Scenarios = 10, - AutoFilter = 11, - SortState = 12, - DataConsolidate = 13, - CustomSheetViews = 14, - MergeCells = 15, - PhoneticProperties = 16, - ConditionalFormatting = 17, - DataValidations = 18, - Hyperlinks = 19, - PrintOptions = 20, - PageMargins = 21, - PageSetup = 22, - HeaderFooter = 23, - RowBreaks = 24, - ColumnBreaks = 25, - CustomProperties = 26, - CellWatches = 27, - IgnoredErrors = 28, - SmartTags = 29, - Drawing = 30, - LegacyDrawing = 31, - LegacyDrawingHeaderFooter = 32, - DrawingHeaderFooter = 33, - Picture = 34, - OleObjects = 35, - Controls = 36, - AlternateContent = 37, - WebPublishItems = 38, - TableParts = 39, - WorksheetExtensionList = 40 - } - private readonly Dictionary contents = new Dictionary(); - - public XLWSContentManager(Worksheet opWorksheet) - { - contents.Add(XLWSContents.SheetProperties, opWorksheet.Elements().LastOrDefault()); - contents.Add(XLWSContents.SheetDimension, opWorksheet.Elements().LastOrDefault()); - contents.Add(XLWSContents.SheetViews, opWorksheet.Elements().LastOrDefault()); - contents.Add(XLWSContents.SheetFormatProperties, opWorksheet.Elements().LastOrDefault()); - contents.Add(XLWSContents.Columns, opWorksheet.Elements().LastOrDefault()); - contents.Add(XLWSContents.SheetData, opWorksheet.Elements().LastOrDefault()); - contents.Add(XLWSContents.SheetCalculationProperties, opWorksheet.Elements().LastOrDefault()); - contents.Add(XLWSContents.SheetProtection, opWorksheet.Elements().LastOrDefault()); - contents.Add(XLWSContents.ProtectedRanges, opWorksheet.Elements().LastOrDefault()); - contents.Add(XLWSContents.Scenarios, opWorksheet.Elements().LastOrDefault()); - contents.Add(XLWSContents.AutoFilter, opWorksheet.Elements().LastOrDefault()); - contents.Add(XLWSContents.SortState, opWorksheet.Elements().LastOrDefault()); - contents.Add(XLWSContents.DataConsolidate, opWorksheet.Elements().LastOrDefault()); - contents.Add(XLWSContents.CustomSheetViews, opWorksheet.Elements().LastOrDefault()); - contents.Add(XLWSContents.MergeCells, opWorksheet.Elements().LastOrDefault()); - contents.Add(XLWSContents.PhoneticProperties, opWorksheet.Elements().LastOrDefault()); - contents.Add(XLWSContents.ConditionalFormatting, opWorksheet.Elements().LastOrDefault()); - contents.Add(XLWSContents.DataValidations, opWorksheet.Elements().LastOrDefault()); - contents.Add(XLWSContents.Hyperlinks, opWorksheet.Elements().LastOrDefault()); - contents.Add(XLWSContents.PrintOptions, opWorksheet.Elements().LastOrDefault()); - contents.Add(XLWSContents.PageMargins, opWorksheet.Elements().LastOrDefault()); - contents.Add(XLWSContents.PageSetup, opWorksheet.Elements().LastOrDefault()); - contents.Add(XLWSContents.HeaderFooter, opWorksheet.Elements().LastOrDefault()); - contents.Add(XLWSContents.RowBreaks, opWorksheet.Elements().LastOrDefault()); - contents.Add(XLWSContents.ColumnBreaks, opWorksheet.Elements().LastOrDefault()); - contents.Add(XLWSContents.CustomProperties, opWorksheet.Elements().LastOrDefault()); - contents.Add(XLWSContents.CellWatches, opWorksheet.Elements().LastOrDefault()); - contents.Add(XLWSContents.IgnoredErrors, opWorksheet.Elements().LastOrDefault()); - //contents.Add(XLWSContents.SmartTags, opWorksheet.Elements().LastOrDefault()); - contents.Add(XLWSContents.Drawing, opWorksheet.Elements().LastOrDefault()); - contents.Add(XLWSContents.LegacyDrawing, opWorksheet.Elements().LastOrDefault()); - contents.Add(XLWSContents.LegacyDrawingHeaderFooter, opWorksheet.Elements().LastOrDefault()); - contents.Add(XLWSContents.DrawingHeaderFooter, opWorksheet.Elements().LastOrDefault()); - contents.Add(XLWSContents.Picture, opWorksheet.Elements().LastOrDefault()); - contents.Add(XLWSContents.OleObjects, opWorksheet.Elements().LastOrDefault()); - contents.Add(XLWSContents.Controls, opWorksheet.Elements().LastOrDefault()); - contents.Add(XLWSContents.AlternateContent, opWorksheet.Elements().LastOrDefault()); - contents.Add(XLWSContents.WebPublishItems, opWorksheet.Elements().LastOrDefault()); - contents.Add(XLWSContents.TableParts, opWorksheet.Elements().LastOrDefault()); - contents.Add(XLWSContents.WorksheetExtensionList, opWorksheet.Elements().LastOrDefault()); - } - - public void SetElement(XLWSContents content, OpenXmlElement element) - { - contents[content] = element; - } - - public OpenXmlElement GetPreviousElementFor(XLWSContents content) - { - var max = contents.Where(kp => (Int32)kp.Key < (Int32)content && kp.Value != null).Max(kp => kp.Key); - return contents[max]; - } - } -} diff --git a/ClosedXML/Excel/ContentManagers/XLWorksheetContentManager.cs b/ClosedXML/Excel/ContentManagers/XLWorksheetContentManager.cs new file mode 100644 index 0000000..0f67b92 --- /dev/null +++ b/ClosedXML/Excel/ContentManagers/XLWorksheetContentManager.cs @@ -0,0 +1,111 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using DocumentFormat.OpenXml; +using DocumentFormat.OpenXml.Spreadsheet; + +namespace ClosedXML.Excel +{ + internal class XLWSContentManager + { + public enum XLWSContents + { + SheetProperties = 1, + SheetDimension = 2, + SheetViews = 3, + SheetFormatProperties = 4, + Columns = 5, + SheetData = 6, + SheetCalculationProperties = 7, + SheetProtection = 8, + ProtectedRanges = 9, + Scenarios = 10, + AutoFilter = 11, + SortState = 12, + DataConsolidate = 13, + CustomSheetViews = 14, + MergeCells = 15, + PhoneticProperties = 16, + ConditionalFormatting = 17, + DataValidations = 18, + Hyperlinks = 19, + PrintOptions = 20, + PageMargins = 21, + PageSetup = 22, + HeaderFooter = 23, + RowBreaks = 24, + ColumnBreaks = 25, + CustomProperties = 26, + CellWatches = 27, + IgnoredErrors = 28, + SmartTags = 29, + Drawing = 30, + LegacyDrawing = 31, + LegacyDrawingHeaderFooter = 32, + DrawingHeaderFooter = 33, + Picture = 34, + OleObjects = 35, + Controls = 36, + AlternateContent = 37, + WebPublishItems = 38, + TableParts = 39, + WorksheetExtensionList = 40 + } + private readonly Dictionary contents = new Dictionary(); + + public XLWSContentManager(Worksheet opWorksheet) + { + contents.Add(XLWSContents.SheetProperties, opWorksheet.Elements().LastOrDefault()); + contents.Add(XLWSContents.SheetDimension, opWorksheet.Elements().LastOrDefault()); + contents.Add(XLWSContents.SheetViews, opWorksheet.Elements().LastOrDefault()); + contents.Add(XLWSContents.SheetFormatProperties, opWorksheet.Elements().LastOrDefault()); + contents.Add(XLWSContents.Columns, opWorksheet.Elements().LastOrDefault()); + contents.Add(XLWSContents.SheetData, opWorksheet.Elements().LastOrDefault()); + contents.Add(XLWSContents.SheetCalculationProperties, opWorksheet.Elements().LastOrDefault()); + contents.Add(XLWSContents.SheetProtection, opWorksheet.Elements().LastOrDefault()); + contents.Add(XLWSContents.ProtectedRanges, opWorksheet.Elements().LastOrDefault()); + contents.Add(XLWSContents.Scenarios, opWorksheet.Elements().LastOrDefault()); + contents.Add(XLWSContents.AutoFilter, opWorksheet.Elements().LastOrDefault()); + contents.Add(XLWSContents.SortState, opWorksheet.Elements().LastOrDefault()); + contents.Add(XLWSContents.DataConsolidate, opWorksheet.Elements().LastOrDefault()); + contents.Add(XLWSContents.CustomSheetViews, opWorksheet.Elements().LastOrDefault()); + contents.Add(XLWSContents.MergeCells, opWorksheet.Elements().LastOrDefault()); + contents.Add(XLWSContents.PhoneticProperties, opWorksheet.Elements().LastOrDefault()); + contents.Add(XLWSContents.ConditionalFormatting, opWorksheet.Elements().LastOrDefault()); + contents.Add(XLWSContents.DataValidations, opWorksheet.Elements().LastOrDefault()); + contents.Add(XLWSContents.Hyperlinks, opWorksheet.Elements().LastOrDefault()); + contents.Add(XLWSContents.PrintOptions, opWorksheet.Elements().LastOrDefault()); + contents.Add(XLWSContents.PageMargins, opWorksheet.Elements().LastOrDefault()); + contents.Add(XLWSContents.PageSetup, opWorksheet.Elements().LastOrDefault()); + contents.Add(XLWSContents.HeaderFooter, opWorksheet.Elements().LastOrDefault()); + contents.Add(XLWSContents.RowBreaks, opWorksheet.Elements().LastOrDefault()); + contents.Add(XLWSContents.ColumnBreaks, opWorksheet.Elements().LastOrDefault()); + contents.Add(XLWSContents.CustomProperties, opWorksheet.Elements().LastOrDefault()); + contents.Add(XLWSContents.CellWatches, opWorksheet.Elements().LastOrDefault()); + contents.Add(XLWSContents.IgnoredErrors, opWorksheet.Elements().LastOrDefault()); + //contents.Add(XLWSContents.SmartTags, opWorksheet.Elements().LastOrDefault()); + contents.Add(XLWSContents.Drawing, opWorksheet.Elements().LastOrDefault()); + contents.Add(XLWSContents.LegacyDrawing, opWorksheet.Elements().LastOrDefault()); + contents.Add(XLWSContents.LegacyDrawingHeaderFooter, opWorksheet.Elements().LastOrDefault()); + contents.Add(XLWSContents.DrawingHeaderFooter, opWorksheet.Elements().LastOrDefault()); + contents.Add(XLWSContents.Picture, opWorksheet.Elements().LastOrDefault()); + contents.Add(XLWSContents.OleObjects, opWorksheet.Elements().LastOrDefault()); + contents.Add(XLWSContents.Controls, opWorksheet.Elements().LastOrDefault()); + contents.Add(XLWSContents.AlternateContent, opWorksheet.Elements().LastOrDefault()); + contents.Add(XLWSContents.WebPublishItems, opWorksheet.Elements().LastOrDefault()); + contents.Add(XLWSContents.TableParts, opWorksheet.Elements().LastOrDefault()); + contents.Add(XLWSContents.WorksheetExtensionList, opWorksheet.Elements().LastOrDefault()); + } + + public void SetElement(XLWSContents content, OpenXmlElement element) + { + contents[content] = element; + } + + public OpenXmlElement GetPreviousElementFor(XLWSContents content) + { + var max = contents.Where(kp => (Int32)kp.Key < (Int32)content && kp.Value != null).Max(kp => kp.Key); + return contents[max]; + } + } +}