です。EPPlusに問題があります。ページフィールドを含むピボットテーブルは、3行目の上に配置する必要があります。現在の位置はA1
最初のピボット可能なデータ(CacheDefinition.SourceRangeを使用して作成)のデータに基づいて2番目のピボットを準備し、フィルタ(PageField)を追加できません。 このコードを実行すると、このコードの最後の行にエラーが表示されます。「ページフィールドを含むピボットテーブルは、3行目の上に配置する必要があります。「Currenct location is A1」... ここで何が間違っているのか分かりません。
CODE:
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]);
任意のアドバイス?
が、ここでこの例外の原因である:[EPPlus/EPPlus /テーブル/ピボットテーブル/ ExcelPivotTableFieldCollection.cs](https://github.com/pruiz/EPPlus/blob/0d53d2f885857f6cdf52ef940baae1024e4b301b/ EPPlus/Table/PivotTable/ExcelPivotTableFieldCollection.cs#L207) –
期待どおり "A1"は行3の上にあります...そうではありませんか?だから... – SiL3NC3
私はEPPlusで経験はありませんが、私の基本的な目の通知として、例外を引き起こす条件は 'if(_table.Address._fromRow <3)'です。例外メッセージが不明確であるためにかなり混乱します。 –