diff --git a/ClosedXML/Excel/XLWorkbook_Load.cs b/ClosedXML/Excel/XLWorkbook_Load.cs index 94f7b8f..4d879ae 100644 --- a/ClosedXML/Excel/XLWorkbook_Load.cs +++ b/ClosedXML/Excel/XLWorkbook_Load.cs @@ -265,11 +265,15 @@ #region LoadTables - foreach (TableDefinitionPart tablePart in wsPart.TableDefinitionParts) + foreach (var tablePart in wsPart.TableDefinitionParts) { var dTable = tablePart.Table; - string reference = dTable.Reference.Value; - XLTable xlTable = ws.Range(reference).CreateTable(dTable.Name, false) as XLTable; + String reference = dTable.Reference.Value; + String tableName = dTable?.Name ?? dTable.DisplayName ?? string.Empty; + if (String.IsNullOrWhiteSpace(tableName)) + throw new InvalidDataException("The table name is missing."); + + XLTable xlTable = ws.Range(reference).CreateTable(tableName, false) as XLTable; if (dTable.HeaderRowCount != null && dTable.HeaderRowCount == 0) { xlTable._showHeaderRow = false; diff --git a/ClosedXML_Tests/ClosedXML_Tests.csproj b/ClosedXML_Tests/ClosedXML_Tests.csproj index 734585d..b3da509 100644 --- a/ClosedXML_Tests/ClosedXML_Tests.csproj +++ b/ClosedXML_Tests/ClosedXML_Tests.csproj @@ -288,6 +288,7 @@ + diff --git a/ClosedXML_Tests/Excel/Loading/LoadingTests.cs b/ClosedXML_Tests/Excel/Loading/LoadingTests.cs index 7deb95e..9ecccc6 100644 --- a/ClosedXML_Tests/Excel/Loading/LoadingTests.cs +++ b/ClosedXML_Tests/Excel/Loading/LoadingTests.cs @@ -28,7 +28,8 @@ @"Misc\ExcelProducedWorkbookWithImages.xlsx", @"Misc\EmptyCellValue.xlsx", @"Misc\AllShapes.xlsx", - @"Misc\TableHeadersWithLineBreaks.xlsx" + @"Misc\TableHeadersWithLineBreaks.xlsx", + @"Misc\TableWithNameNull.xlsx" }; foreach (var file in files) diff --git a/ClosedXML_Tests/Resource/Misc/TableWithNameNull.xlsx b/ClosedXML_Tests/Resource/Misc/TableWithNameNull.xlsx new file mode 100644 index 0000000..0a5a8de --- /dev/null +++ b/ClosedXML_Tests/Resource/Misc/TableWithNameNull.xlsx Binary files differ