diff --git a/ooxml/XSSF/UserModel/XSSFTable.cs b/ooxml/XSSF/UserModel/XSSFTable.cs index 3a1e350cf..41b7835df 100644 --- a/ooxml/XSSF/UserModel/XSSFTable.cs +++ b/ooxml/XSSF/UserModel/XSSFTable.cs @@ -530,11 +530,11 @@ public CellReference EndCellReference */ private void SetCellReferences() { - String ref1 = ctTable.@ref; + string ref1 = ctTable.@ref; if (ref1 != null) { - String[] boundaries = ref1.Split(new char[] { ':' }, 2); - String from = boundaries[0]; - String to = boundaries[1]; + string[] boundaries = ref1.Split(new char[] { ':' }, 2); + string from = boundaries[0]; + string to = boundaries.Length == 2 ? boundaries[1] : boundaries[0]; startCellReference = new CellReference(from); endCellReference = new CellReference(to); } diff --git a/testcases/ooxml/XSSF/UserModel/TestXSSFTable.cs b/testcases/ooxml/XSSF/UserModel/TestXSSFTable.cs index fae6f70b5..425dc71e2 100644 --- a/testcases/ooxml/XSSF/UserModel/TestXSSFTable.cs +++ b/testcases/ooxml/XSSF/UserModel/TestXSSFTable.cs @@ -287,5 +287,14 @@ public void FormatAsTable() wb.Close(); } + [Test] + public void GetEndCellReferenceFromSingleCellTable() + { + XSSFWorkbook wb = XSSFTestDataSamples.OpenSampleWorkbook("SingleCellTable.xlsx"); + XSSFTable table = wb.GetTable("Table3"); + Assert.AreEqual(new CellReference("A2"), table.EndCellReference); + wb.Close(); + } + } } diff --git a/testcases/test-data/spreadsheet/SingleCellTable.xlsx b/testcases/test-data/spreadsheet/SingleCellTable.xlsx new file mode 100644 index 000000000..b0588fcd2 Binary files /dev/null and b/testcases/test-data/spreadsheet/SingleCellTable.xlsx differ