diff --git a/ClosedXML_Examples/PivotTables/PivotTables.cs b/ClosedXML_Examples/PivotTables/PivotTables.cs index 9d627d1..10161e4 100644 --- a/ClosedXML_Examples/PivotTables/PivotTables.cs +++ b/ClosedXML_Examples/PivotTables/PivotTables.cs @@ -54,10 +54,10 @@ using (var wb = new XLWorkbook()) { - var sheet = wb.Worksheets.Add("PastrySalesData"); + var ws = wb.Worksheets.Add("PastrySalesData"); // Insert our list of pastry data into the "PastrySalesData" sheet at cell 1,1 - var source = sheet.Cell(1, 1).InsertTable(pastries, "PastrySalesData", true); - sheet.Columns().AdjustToContents(); + var table = ws.Cell(1, 1).InsertTable(pastries, "PastrySalesData", true); + ws.Columns().AdjustToContents(); IXLWorksheet ptSheet; @@ -71,7 +71,7 @@ ptSheet = wb.Worksheets.Add("pvt" + i); // Create the pivot table, using the data from the "PastrySalesData" table - pt = ptSheet.PivotTables.AddNew("pvt", ptSheet.Cell(1, 1), source.AsRange()); + pt = ptSheet.PivotTables.Add("pvt", ptSheet.Cell(1, 1), table.AsRange()); // The rows in our pivot table will be the names of the pastries pt.RowLabels.Add("Name"); @@ -105,7 +105,7 @@ #region Different kind of pivot ptSheet = wb.Worksheets.Add("pvtNoColumnLabels"); - pt = ptSheet.PivotTables.AddNew("pvtNoColumnLabels", ptSheet.Cell(1, 1), source.AsRange()); + pt = ptSheet.PivotTables.Add("pvtNoColumnLabels", ptSheet.Cell(1, 1), table.AsRange()); pt.RowLabels.Add("Name"); pt.RowLabels.Add("Month"); @@ -120,7 +120,7 @@ #region Pivot table with collapsed fields ptSheet = wb.Worksheets.Add("pvtCollapsedFields"); - pt = ptSheet.PivotTables.AddNew("pvtCollapsedFields", ptSheet.Cell(1, 1), source.AsRange()); + pt = ptSheet.PivotTables.Add("pvtCollapsedFields", ptSheet.Cell(1, 1), table.AsRange()); pt.RowLabels.Add("Name").SetCollapsed(); pt.RowLabels.Add("Month").SetCollapsed(); @@ -133,7 +133,7 @@ #region Pivot table with a field both as a value and as a row/column/filter label ptSheet = wb.Worksheets.Add("pvtFieldAsValueAndLabel"); - pt = ptSheet.PivotTables.AddNew("pvtFieldAsValueAndLabel", ptSheet.Cell(1, 1), source.AsRange()); + pt = ptSheet.PivotTables.Add("pvtFieldAsValueAndLabel", ptSheet.Cell(1, 1), table.AsRange()); pt.RowLabels.Add("Name"); pt.RowLabels.Add("Month"); @@ -147,7 +147,7 @@ ptSheet = wb.Worksheets.Add("pvtHideSubTotals"); // Create the pivot table, using the data from the "PastrySalesData" table - pt = ptSheet.PivotTables.AddNew("pvtHidesubTotals", ptSheet.Cell(1, 1), source.AsRange()); + pt = ptSheet.PivotTables.Add("pvtHidesubTotals", ptSheet.Cell(1, 1), table.AsRange()); // The rows in our pivot table will be the names of the pastries pt.RowLabels.Add(XLConstants.PivotTableValuesSentinalLabel); @@ -177,7 +177,7 @@ ptSheet = wb.Worksheets.Add("pvtFilter"); - pt = ptSheet.PivotTables.AddNew("pvtFilter", ptSheet.Cell(1, 1), source.AsRange()); + pt = table.CreatePivotTable(ptSheet.FirstCell(), "pvtFilter"); pt.RowLabels.Add("Month"); @@ -198,7 +198,7 @@ #region Pivot table sorting ptSheet = wb.Worksheets.Add("pvtSort"); - pt = ptSheet.PivotTables.AddNew("pvtSort", ptSheet.Cell(1, 1), source.AsRange()); + pt = ptSheet.PivotTables.Add("pvtSort", ptSheet.Cell(1, 1), table.AsRange()); pt.RowLabels.Add("Name").SetSort(XLPivotSortType.Ascending); pt.RowLabels.Add("Month").SetSort(XLPivotSortType.Descending); @@ -210,11 +210,11 @@ #endregion Different kind of pivot - #region Pivot Table with interger rows + #region Pivot Table with integer rows ptSheet = wb.Worksheets.Add("pvtInteger"); - pt = ptSheet.PivotTables.AddNew("pvtInteger", ptSheet.Cell(1, 1), source.AsRange()); + pt = ptSheet.PivotTables.Add("pvtInteger", ptSheet.Cell(1, 1), table); pt.RowLabels.Add("Name"); pt.RowLabels.Add("Code"); diff --git a/ClosedXML_Tests/Excel/PivotTables/XLPivotTableTests.cs b/ClosedXML_Tests/Excel/PivotTables/XLPivotTableTests.cs index cfe80bb..919cd2c 100644 --- a/ClosedXML_Tests/Excel/PivotTables/XLPivotTableTests.cs +++ b/ClosedXML_Tests/Excel/PivotTables/XLPivotTableTests.cs @@ -17,13 +17,8 @@ { var ws = wb.Worksheet("PastrySalesData"); var table = ws.Table("PastrySalesData"); - - var range = table.DataRange; - var header = ws.Range(1, 1, 1, 3); - var dataRange = ws.Range(header.FirstCell(), range.LastCell()); - var ptSheet = wb.Worksheets.Add("BlankPivotTable"); - var pt = ptSheet.PivotTables.AddNew("pvt", ptSheet.Cell(1, 1), dataRange); + ptSheet.PivotTables.Add("pvt", ptSheet.Cell(1, 1), table); using (var ms = new MemoryStream()) { @@ -40,13 +35,8 @@ { var ws = wb.Worksheet("PastrySalesData"); var table = ws.Table("PastrySalesData"); - - var range = table.DataRange; - var header = ws.Range(1, 1, 1, 3); - var dataRange = ws.Range(header.FirstCell(), range.LastCell()); - var ptSheet = wb.Worksheets.Add("BlankPivotTable"); - var pt = ptSheet.PivotTables.AddNew("pvtOptionsTest", ptSheet.Cell(1, 1), dataRange); + var pt = ptSheet.PivotTables.Add("pvtOptionsTest", ptSheet.Cell(1, 1), table); pt.ColumnHeaderCaption = "clmn header"; pt.RowHeaderCaption = "row header"; @@ -157,10 +147,8 @@ var ws = wb.Worksheet("PastrySalesData"); var table = ws.Table("PastrySalesData"); - var dataRange = ws.Range(ws.Range(1, 1, 1, 3).FirstCell(), table.DataRange.LastCell()); - var ptSheet = wb.Worksheets.Add("pvtFieldOptionsTest"); - var pt = ptSheet.PivotTables.AddNew("pvtFieldOptionsTest", ptSheet.Cell(1, 1), dataRange); + var pt = ptSheet.PivotTables.Add("pvtFieldOptionsTest", ptSheet.Cell(1, 1), table); var field = pt.RowLabels.Add("Name") .SetSubtotalCaption("Test caption") @@ -247,14 +235,9 @@ var sheet = wb.Worksheets.Add("PastrySalesData"); // Insert our list of pastry data into the "PastrySalesData" sheet at cell 1,1 - var source = sheet.Cell(1, 1).InsertTable(pastries, "PastrySalesData", true); + var table = sheet.Cell(1, 1).InsertTable(pastries, "PastrySalesData", true); sheet.Columns().AdjustToContents(); - // Create a range that includes our table, including the header row - var range = source.DataRange; - var header = sheet.Range(1, 1, 1, 3); - var dataRange = sheet.Range(header.FirstCell(), range.LastCell()); - IXLWorksheet ptSheet; IXLPivotTable pt; @@ -264,7 +247,7 @@ ptSheet = wb.Worksheets.Add("pvt" + i); // Create the pivot table, using the data from the "PastrySalesData" table - pt = ptSheet.PivotTables.AddNew("pvt" + i, ptSheet.Cell(1, 1), dataRange); + pt = ptSheet.PivotTables.Add("pvt" + i, ptSheet.Cell(1, 1), table); if (i == 1 || i == 4) pt.ColumnLabels.Add("Name");