diff --git a/ClosedXML/Excel/XLWorkbook_Save.cs b/ClosedXML/Excel/XLWorkbook_Save.cs index 57e3f00..2200894 100644 --- a/ClosedXML/Excel/XLWorkbook_Save.cs +++ b/ClosedXML/Excel/XLWorkbook_Save.cs @@ -2127,7 +2127,7 @@ { if (types.Length == 1 && types.Single() == XLDataType.Number) { - sharedItems.ContainsSemiMixedTypes = false; + sharedItems.ContainsSemiMixedTypes = containsBlank; sharedItems.ContainsString = false; sharedItems.ContainsNumber = true; @@ -2160,7 +2160,7 @@ } else if (types.Length == 1 && types.Single() == XLDataType.DateTime) { - sharedItems.ContainsSemiMixedTypes = false; + sharedItems.ContainsSemiMixedTypes = containsBlank; sharedItems.ContainsNonDate = false; sharedItems.ContainsString = false; sharedItems.ContainsDate = true; diff --git a/ClosedXML_Tests/Excel/PivotTables/XLPivotTableTests.cs b/ClosedXML_Tests/Excel/PivotTables/XLPivotTableTests.cs index 919cd2c..eddd1a3 100644 --- a/ClosedXML_Tests/Excel/PivotTables/XLPivotTableTests.cs +++ b/ClosedXML_Tests/Excel/PivotTables/XLPivotTableTests.cs @@ -218,7 +218,7 @@ new Pastry("Bearclaw", 103, 134, 10.24, "", new DateTime(2016, 04, 27)), new Pastry("Bearclaw", 103, 184, 33.33, "", new DateTime(2016, 05, 20)), new Pastry("Bearclaw", 103, 124, 25, "", new DateTime(2017, 06, 05)), - new Pastry("Danish", 104, 394, -20.24, "", new DateTime(2017, 04, 24)), + new Pastry("Danish", 104, 394, -20.24, "", null), new Pastry("Danish", 104, 190, 60, "", new DateTime(2017, 05, 08)), new Pastry("Danish", 104, 221, 24.76, "", new DateTime(2016, 06, 21)), @@ -236,12 +236,13 @@ var sheet = wb.Worksheets.Add("PastrySalesData"); // Insert our list of pastry data into the "PastrySalesData" sheet at cell 1,1 var table = sheet.Cell(1, 1).InsertTable(pastries, "PastrySalesData", true); + sheet.Cell("F11").Style.Alignment.Horizontal = XLAlignmentHorizontalValues.Center; sheet.Columns().AdjustToContents(); IXLWorksheet ptSheet; IXLPivotTable pt; - for (var i = 1; i <= 4; i++) + for (var i = 1; i <= 5; i++) { // Add a new sheet for our pivot table ptSheet = wb.Worksheets.Add("pvt" + i); @@ -249,7 +250,7 @@ // Create the pivot table, using the data from the "PastrySalesData" table pt = ptSheet.PivotTables.Add("pvt" + i, ptSheet.Cell(1, 1), table); - if (i == 1 || i == 4) + if (i == 1 || i == 4 || i == 5) pt.ColumnLabels.Add("Name"); else if (i == 2 || i == 3) pt.RowLabels.Add("Name"); @@ -258,6 +259,8 @@ pt.RowLabels.Add("Month"); else if (i == 2 || i == 4) pt.ColumnLabels.Add("Month"); + else if (i == 5) + pt.RowLabels.Add("BakeDate"); // The values in our table will come from the "NumberOfOrders" field // The default calculation setting is a total of each row/column diff --git a/ClosedXML_Tests/Resource/Other/PivotTableReferenceFiles/BlankPivotTableField/BlankPivotTableField.xlsx b/ClosedXML_Tests/Resource/Other/PivotTableReferenceFiles/BlankPivotTableField/BlankPivotTableField.xlsx index eb652c2..7beb531 100644 --- a/ClosedXML_Tests/Resource/Other/PivotTableReferenceFiles/BlankPivotTableField/BlankPivotTableField.xlsx +++ b/ClosedXML_Tests/Resource/Other/PivotTableReferenceFiles/BlankPivotTableField/BlankPivotTableField.xlsx Binary files differ