diff --git a/ClosedXML/Excel/XLWorkbook.cs b/ClosedXML/Excel/XLWorkbook.cs index 84b2f6b..b3eb5ad 100644 --- a/ClosedXML/Excel/XLWorkbook.cs +++ b/ClosedXML/Excel/XLWorkbook.cs @@ -1006,5 +1006,21 @@ throw new NotImplementedException(); } } + + public void SuspendEvents() + { + foreach (var ws in WorksheetsInternal) + { + ws.SuspendEvents(); + } + } + + public void ResumeEvents() + { + foreach (var ws in WorksheetsInternal) + { + ws.ResumeEvents(); + } + } } } diff --git a/ClosedXML/Excel/XLWorkbook_Save.cs b/ClosedXML/Excel/XLWorkbook_Save.cs index e4a1a5d..4c8af06 100644 --- a/ClosedXML/Excel/XLWorkbook_Save.cs +++ b/ClosedXML/Excel/XLWorkbook_Save.cs @@ -212,6 +212,8 @@ // Adds child parts and generates content of the specified part. private void CreateParts(SpreadsheetDocument document, SaveOptions options) { + this.SuspendEvents(); + var context = new SaveContext(); var workbookPart = document.WorkbookPart ?? document.AddWorkbookPart(); @@ -343,6 +345,8 @@ // Clear list of deleted worksheets to prevent errors on multiple saves worksheets.Deleted.Clear(); + + this.ResumeEvents(); } private void DeleteComments(WorksheetPart worksheetPart, XLWorksheet worksheet, SaveContext context)