Vous avez eu un problème avec EPPlus.Un tableau croisé dynamique avec des champs de page doit être situé au-dessus de la ligne 3. L'emplacement actuel est A1
Vous voulez préparer un second pivot sur la base des données de la première pivotante (à l'aide de CacheDefinition.SourceRange) et ne pouvez pas ajouter de filtre (PageField). Quand je lance ce sont des pauses sur la dernière ligne de ce code avec l'erreur: "Un tableau croisé dynamique avec des champs de page doit être situé au-dessus de la ligne 3. La localisation est A1" Ne sait pas ce qui ne va pas ici.
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]);
Tout conseil?
Si cela aide quelqu'un à se pencher sur le problème, voici la source de cette exception: [EPPlus/EPPlus/Table/PivotTable/ExcelPivotTableFieldCollection.cs] (https://github.com/pruiz/EPPlus/blob/0d53d2f885857f6cdf52ef940baae1024e4b301b/ EPPlus/Table/Tableau croisé dynamique/ExcelPivotTableFieldCollection.cs # L207) –
Mais comme prévu "A1" est au-dessus de la ligne 3 ... n'est-ce pas? Donc ... – SiL3NC3
Je ne suis pas expérimenté en EPPlus, mais comme mes avis de base, la condition déclenchant l'exception est 'if (_table.Address._fromRow <3)', c'est assez déroutant puisque le message d'exception n'est pas clair cependant. –