2017-10-16 3 views
0

です。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]); 

任意のアドバイス?

+0

が、ここでこの例外の原因である:[EPPlus/EPPlus /テーブル/ピボットテーブル/ ExcelPivotTableFieldCollection.cs](https://github.com/pruiz/EPPlus/blob/0d53d2f885857f6cdf52ef940baae1024e4b301b/ EPPlus/Table/PivotTable/ExcelPivotTableFieldCollection.cs#L207) –

+0

期待どおり "A1"は行3の上にあります...そうではありませんか?だから... – SiL3NC3

+0

私はEPPlusで経験はありませんが、私の基本的な目の通知として、例外を引き起こす条件は 'if(_table.Address._fromRow <3)'です。例外メッセージが不明確であるためにかなり混乱します。 –

答えて

0

すべてのFolkzにとって、私はそれを理解しました!それに

ExcelPivotTable pivotTable = wsChart.PivotTables.Add(wsChart.Cells[1, 1], dataRange, "PivotTableChart"); 

ExcelPivotTable pivotTable = wsChart.PivotTables.Add(wsChart.Cells[3, 1], dataRange, "PivotTableChart"); 

これは以前より多くのスペースを与える 問題は、私はそのラインを微調整すると...フィルタ選択を追加する余地がないことを、

ましたピボット可能な、そして、エラーはなくなった。 複数のフィルタを追加する場合は、先頭の行を追加することに注意してください。

この記事を今後誰かに見てもらえたらうれしいです。それは、誰かが問題を調査できます場合は

関連する問題