diff --git a/ClosedXML/Excel/XLWorkbook_Load.cs b/ClosedXML/Excel/XLWorkbook_Load.cs index bb05e45..b1a38ef 100644 --- a/ClosedXML/Excel/XLWorkbook_Load.cs +++ b/ClosedXML/Excel/XLWorkbook_Load.cs @@ -180,8 +180,16 @@ using (var reader = OpenXmlReader.Create(wsPart)) { + Type[] ignoredElements = new Type[] + { + typeof(CustomSheetViews) // Custom sheet views contain its own auto filter data, and more, which should be ignored for now + }; + while (reader.Read()) { + while (ignoredElements.Contains(reader.ElementType)) + reader.ReadNextSibling(); + if (reader.ElementType == typeof(SheetFormatProperties)) { var sheetFormatProperties = (SheetFormatProperties)reader.LoadCurrentElement(); @@ -245,6 +253,7 @@ LoadColumnBreaks((ColumnBreaks)reader.LoadCurrentElement(), ws); else if (reader.ElementType == typeof(LegacyDrawing)) ws.LegacyDrawingId = (reader.LoadCurrentElement() as LegacyDrawing).Id.Value; + } reader.Close(); } diff --git a/ClosedXML_Tests/ClosedXML_Tests.csproj b/ClosedXML_Tests/ClosedXML_Tests.csproj index 3f006c2..f179d98 100644 --- a/ClosedXML_Tests/ClosedXML_Tests.csproj +++ b/ClosedXML_Tests/ClosedXML_Tests.csproj @@ -255,6 +255,7 @@ + diff --git a/ClosedXML_Tests/Excel/Loading/LoadingTests.cs b/ClosedXML_Tests/Excel/Loading/LoadingTests.cs index 8398a20..4d74759 100644 --- a/ClosedXML_Tests/Excel/Loading/LoadingTests.cs +++ b/ClosedXML_Tests/Excel/Loading/LoadingTests.cs @@ -19,7 +19,8 @@ { @"Misc\TableWithCustomTheme.xlsx", @"Misc\EmptyTable.xlsx", - @"Misc\LoadPivotTables.xlsx" + @"Misc\LoadPivotTables.xlsx", + @"Misc\LoadFileWithCustomSheetViews.xlsx" }; foreach (var file in files) diff --git a/ClosedXML_Tests/Resource/Misc/LoadFileWithCustomSheetViews.xlsx b/ClosedXML_Tests/Resource/Misc/LoadFileWithCustomSheetViews.xlsx new file mode 100644 index 0000000..e6d28c1 --- /dev/null +++ b/ClosedXML_Tests/Resource/Misc/LoadFileWithCustomSheetViews.xlsx Binary files differ