I am unable to create a Pivot table with ReportFilters. Once I add a report filter, I get an error trying to open the excel file. To reproduce, I used the Pivot example from the site. The only change I made was changing "Month" from a column to a report filter. The code is below:
Can you tell me if I am doing anything wrong?
Can you tell me if I am doing anything wrong?
var pastries = new List<Pastry>
{
new Pastry("Croissant", 150, "Apr"),
new Pastry("Croissant", 250, "May"),
new Pastry("Croissant", 134, "June"),
new Pastry("Doughnut", 250, "Apr"),
new Pastry("Doughnut", 225, "May"),
new Pastry("Doughnut", 210, "June"),
new Pastry("Bearclaw", 134, "Apr"),
new Pastry("Bearclaw", 184, "May"),
new Pastry("Bearclaw", 124, "June"),
new Pastry("Danish", 394, "Apr"),
new Pastry("Danish", 190, "May"),
new Pastry("Danish", 221, "June"),
new Pastry("Scone", 135, "Apr"),
new Pastry("Scone", 122, "May"),
new Pastry("Scone", 243, "June")
};
var workbook = new XLWorkbook();
var sheet = workbook.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);
// 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());
// Add a new sheet for our pivot table
var ptSheet = workbook.Worksheets.Add("PivotTable");
// Create the pivot table, using the data from the "PastrySalesData" table
var pt = ptSheet.PivotTables.AddNew("PivotTable", ptSheet.Cell(1, 1), dataRange);
// The rows in our pivot table will be the names of the pastries
pt.RowLabels.Add("Name");
// The columns will be the months
pt.ReportFilters.Add("Month");
// The values in our table will come from the "NumberOfOrders" field
// The default calculation setting is a total of each row/column
pt.Values.Add("NumberOfOrders");
workbook.SaveAs("c:\\temp\\PastrySample.xlsx");