具有页字段的枢轴 table 必须位于第 3 行上方。当前位置是 A1
A pivot table with page fields must be located above row 3. Current location is A1
遇到 EPPlus 问题。
想要根据第一个数据透视表的数据准备第二个数据透视表(使用 CacheDefinition.SourceRange 完成)并且无法添加过滤器 (PageField)。
当我 运行 时,此代码的最后一行出现错误:"A pivot table with page fields must be located above row 3. Currenct location is A1"...
不知道这里出了什么问题。
代码:
var reportFilterNames = new List<string>() { "ProjectName" };
var valueNames = new List<string>() { "Value1", "Value2", "Value3" };
ExcelWorksheet wsChart = report.Workbook.Worksheets.Add("Chart-Projects");
var dataRange = pivotTableProjects.CacheDefinition.SourceRange;
ExcelPivotTable pivotTable = wsChart.PivotTables.Add(wsChart.Cells[1, 1], dataRange, "PivotTableChart");
pivotTable.MultipleFieldFilters = true;
pivotTable.RowGrandTotals = true;
pivotTable.ColumGrandTotals = true;
pivotTable.Compact = true;
pivotTable.CompactData = 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;
//pivotTable.FirstDataCol = 2;
pivotTable.RowHeaderCaption = "Projects";
pivotTable.Indent = 0;
pivotTable.DataOnRows = true;
foreach (string reportFilterName in reportFilterNames)
pivotTable.PageFields.Add(pivotTable.Fields[reportFilterName]);
有什么建议吗?
对于所有的人,我想通了!
问题是,没有空间来添加过滤器选择...
当我调整那条线时:
ExcelPivotTable pivotTable = wsChart.PivotTables.Add(wsChart.Cells[1, 1], dataRange, "PivotTableChart");
对此:
ExcelPivotTable pivotTable = wsChart.PivotTables.Add(wsChart.Cells[3, 1], dataRange, "PivotTableChart");
这将在数据透视表之前提供更多 space,然后错误消失。
因此,如果您想添加多个过滤器,请注意添加更高的起始行。
希望它能帮助将来看到这个的人post。
遇到 EPPlus 问题。
想要根据第一个数据透视表的数据准备第二个数据透视表(使用 CacheDefinition.SourceRange 完成)并且无法添加过滤器 (PageField)。 当我 运行 时,此代码的最后一行出现错误:"A pivot table with page fields must be located above row 3. Currenct location is A1"... 不知道这里出了什么问题。
代码:
var reportFilterNames = new List<string>() { "ProjectName" };
var valueNames = new List<string>() { "Value1", "Value2", "Value3" };
ExcelWorksheet wsChart = report.Workbook.Worksheets.Add("Chart-Projects");
var dataRange = pivotTableProjects.CacheDefinition.SourceRange;
ExcelPivotTable pivotTable = wsChart.PivotTables.Add(wsChart.Cells[1, 1], dataRange, "PivotTableChart");
pivotTable.MultipleFieldFilters = true;
pivotTable.RowGrandTotals = true;
pivotTable.ColumGrandTotals = true;
pivotTable.Compact = true;
pivotTable.CompactData = 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;
//pivotTable.FirstDataCol = 2;
pivotTable.RowHeaderCaption = "Projects";
pivotTable.Indent = 0;
pivotTable.DataOnRows = true;
foreach (string reportFilterName in reportFilterNames)
pivotTable.PageFields.Add(pivotTable.Fields[reportFilterName]);
有什么建议吗?
对于所有的人,我想通了! 问题是,没有空间来添加过滤器选择...
当我调整那条线时:
ExcelPivotTable pivotTable = wsChart.PivotTables.Add(wsChart.Cells[1, 1], dataRange, "PivotTableChart");
对此:
ExcelPivotTable pivotTable = wsChart.PivotTables.Add(wsChart.Cells[3, 1], dataRange, "PivotTableChart");
这将在数据透视表之前提供更多 space,然后错误消失。 因此,如果您想添加多个过滤器,请注意添加更高的起始行。
希望它能帮助将来看到这个的人post。