要创建数据透视表,需要提供用于生成数据透视表的源数据。
为此,我生成了一个“虚拟”表,其中包含原始数据,例如:
我需要从该数据生成一个数据透视表,以便像这样生成它:
IOW,它需要在“描述”列上有一个过滤器,允许过滤行(只显示“Peppers”或其他)和一个过滤器显示哪些月份列(工作表最多可以有 13 个月列( 9 月 15 日、10 月 15 日等))以便用户可以选择 1..13 列“月年”列来显示(从技术上讲,他们可以选择 0,但有什么意义)?
如何才能做到这一点?我尝试了以下方法:
private void AddPivotTable()
{
var dataRange
rawDataWorksheet.Cells[rawDataWorksheet.Dimension.Address];
dataRange.AutoFitColumns();
var pivotTable
usagePivotWorksheet.PivotTables.Add(usagePivotWorksheet.Cells["A6"]
dataRange, "ProdUsagePivot");
pivotTable.MultipleFieldFilters = true;
pivotTable.GridDropZones = false;
pivotTable.Outline = false;
pivotTable.OutlineData = false;
pivotTable.ShowError = true;
pivotTable.ErrorCaption = "[error]";
pivotTable.ShowHeaders = true;
pivotTable.UseAutoFormatting = true;
pivotTable.ApplyWidthHeightFormats = true;
pivotTable.ShowDrill = true;
var descPageField = pivotTable.Fields["Description"];
pivotTable.PageFields.Add(descPageField);
descPageField.Sort
OfficeOpenXml.Table.PivotTable.eSortType.Ascending;
var descRowField = pivotTable.Fields["Description"];
pivotTable.RowFields.Add(descRowField);
. . . add others later
}
...但仅获取“描述”的过滤器,其下方没有数据:
我还需要做什么才能获得所需的外观/功能?