diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/Cells/IXLCell.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/Cells/IXLCell.cs index e5d18c9..afa2644 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/Cells/IXLCell.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/Cells/IXLCell.cs @@ -260,5 +260,7 @@ IXLColumn WorksheetColumn(); IXLRow WorksheetRow(); + + Boolean HasDataValidation { get; } } } diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/Cells/XLCell.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/Cells/XLCell.cs index 38ec9cb..6cd9718 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/Cells/XLCell.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/Cells/XLCell.cs @@ -1064,7 +1064,7 @@ return false; if (includeFormats) - return Style.Equals(Worksheet.Style) && !IsMerged(); + return Style.Equals(Worksheet.Style) && !IsMerged() && !HasComment && !HasDataValidation; return true; } @@ -2183,5 +2183,14 @@ FormulaR1C1 = formula; return this; } + + public Boolean HasDataValidation + { + get + { + using(var asRange = AsRange()) + return Worksheet.DataValidations.Any(dv => dv.Ranges.Contains(asRange)); + } + } } } \ No newline at end of file diff --git a/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook_Load.cs b/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook_Load.cs index 5a8fe6c..961e9d4 100644 --- a/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook_Load.cs +++ b/ClosedXML/ClosedXML/ClosedXML/Excel/XLWorkbook_Load.cs @@ -212,7 +212,16 @@ { var dTable = tablePart.Table; string reference = dTable.Reference.Value; - var xlTable = ws.Range(reference).CreateTable(dTable.Name); + IXLTable xlTable; + //if (dTable.HeaderRowCount != null && dTable.HeaderRowCount == 0) + //{ + + //} + //else + //{ + xlTable = ws.Range(reference).CreateTable(dTable.Name); + //} + if (dTable.TotalsRowCount != null && dTable.TotalsRowCount.Value > 0) ((XLTable) xlTable)._showTotalsRow = true; @@ -239,7 +248,6 @@ } else xlTable.ShowAutoFilter = false; - if (xlTable.ShowTotalsRow) diff --git a/ClosedXML/ClosedXML/ClosedXML_Examples/Misc/DataValidation.cs b/ClosedXML/ClosedXML/ClosedXML_Examples/Misc/DataValidation.cs index a4e9935..1f946ee 100644 --- a/ClosedXML/ClosedXML/ClosedXML_Examples/Misc/DataValidation.cs +++ b/ClosedXML/ClosedXML/ClosedXML_Examples/Misc/DataValidation.cs @@ -68,6 +68,9 @@ ws.Cell("C2").Value = "No"; ws.Cell("A5").DataValidation.List(ws.Range("C1:C2")); + ws.Range("C1:C2").AddToNamed("YesNo"); + ws.Cell("A6").DataValidation.List("=YesNo"); + // Intersecting dataValidations ws.Range("B1:B4").DataValidation.WholeNumber.EqualTo(1); ws.Range("B3:B4").DataValidation.WholeNumber.EqualTo(2); @@ -120,8 +123,8 @@ ws.CopyTo(ws.Name + " - Copy"); ws2.CopyTo(ws2.Name + " - Copy"); - var ws3 = wb.AddWorksheet("Copy From Range"); - ws3.FirstCell().Value = ws2.RangeUsed(true); + wb.AddWorksheet("Copy From Range 1").FirstCell().Value = ws.RangeUsed(true); + wb.AddWorksheet("Copy From Range 2").FirstCell().Value = ws2.RangeUsed(true); wb.SaveAs(filePath); } diff --git a/ClosedXML/ClosedXML/ClosedXML_Tests/Resource/Examples/Misc/DataValidation.xlsx b/ClosedXML/ClosedXML/ClosedXML_Tests/Resource/Examples/Misc/DataValidation.xlsx index 431dd05..566addb 100644 --- a/ClosedXML/ClosedXML/ClosedXML_Tests/Resource/Examples/Misc/DataValidation.xlsx +++ b/ClosedXML/ClosedXML/ClosedXML_Tests/Resource/Examples/Misc/DataValidation.xlsx Binary files differ