diff --git a/ClosedXML/Excel/XLWSContentManager.cs b/ClosedXML/Excel/XLWSContentManager.cs index f871a62..0f67b92 100644 --- a/ClosedXML/Excel/XLWSContentManager.cs +++ b/ClosedXML/Excel/XLWSContentManager.cs @@ -51,7 +51,7 @@ TableParts = 39, WorksheetExtensionList = 40 } - private Dictionary contents = new Dictionary(); + private readonly Dictionary contents = new Dictionary(); public XLWSContentManager(Worksheet opWorksheet) { diff --git a/ClosedXML/Excel/XLWorkbook_Save.cs b/ClosedXML/Excel/XLWorkbook_Save.cs index 434a030..8059c15 100644 --- a/ClosedXML/Excel/XLWorkbook_Save.cs +++ b/ClosedXML/Excel/XLWorkbook_Save.cs @@ -5383,12 +5383,13 @@ var worksheetDrawing = new Drawing { Id = worksheetPart.GetIdOfPart(worksheetPart.DrawingsPart) }; worksheetDrawing.AddNamespaceDeclaration("r", "http://schemas.openxmlformats.org/officeDocument/2006/relationships"); worksheetPart.Worksheet.InsertBefore(worksheetDrawing, tableParts); + cm.SetElement(XLWSContentManager.XLWSContents.Drawing, worksheetPart.Worksheet.Elements().First()); } if (!xlWorksheet.Pictures.Any() && worksheetPart.DrawingsPart != null) { var id = worksheetPart.GetIdOfPart(worksheetPart.DrawingsPart); - worksheetPart.Worksheet.RemoveChild(worksheetPart.Worksheet.OfType().FirstOrDefault(p => p.Id == id)); + worksheetPart.Worksheet.RemoveChild(worksheetPart.Worksheet.OfType().FirstOrDefault(p => p.Id == id)); worksheetPart.DeletePart(worksheetPart.DrawingsPart); } @@ -5400,14 +5401,16 @@ if (xlWorksheet.LegacyDrawingIsNew) { worksheetPart.Worksheet.RemoveAllChildren(); + + if (!String.IsNullOrWhiteSpace(xlWorksheet.LegacyDrawingId)) { - if (!String.IsNullOrWhiteSpace(xlWorksheet.LegacyDrawingId)) - { - var previousElement = cm.GetPreviousElementFor(XLWSContentManager.XLWSContents.LegacyDrawing); - worksheetPart.Worksheet.InsertAfter(new LegacyDrawing { Id = xlWorksheet.LegacyDrawingId }, - previousElement); - } + var previousElement = cm.GetPreviousElementFor(XLWSContentManager.XLWSContents.LegacyDrawing); + worksheetPart.Worksheet.InsertAfter(new LegacyDrawing { Id = xlWorksheet.LegacyDrawingId }, + previousElement); + + cm.SetElement(XLWSContentManager.XLWSContents.LegacyDrawing, worksheetPart.Worksheet.Elements().First()); } + } #endregion LegacyDrawing