ClosedXML数据透视表集计算

时间:2018-11-13 17:24:28

标签: c# asp.net excel closedxml

我正在尝试使用ClosedXML导出具有数据透视表的数据。我可以使用以下代码创建数据透视表,但是SetCalculation给我带来了一些麻烦。我想计算每年的“金额”列之间的差额。 Excel工作表无法加载,并且崩溃了所有Excel。

var pt = worksheet.PivotTables.AddNew("PivotTable", worksheet.Cell(rowIndex+3, 1), table.AsRange());

pt.ReportFilters.Add("Department");
pt.ReportFilters.Add("Month");
pt.ColumnLabels.Add("Year").SetCollapsed();
pt.RowLabels.Add("Account").SetCollapsed();
pt.RowLabels.Add("Description").SetCollapsed();
pt.Values.Add("Amount", "Amount").NumberFormat.NumberFormatId = 4;
pt.Values.Add("Diff","Diff").SetBaseField("Year").
SetBaseItem("Amount").SetCalculation
(XLPivotCalculation.DifferenceFrom).NumberFormat.NumberFormatId = 4;

1 个答案:

答案 0 :(得分:0)

我知道了:

pt.Values.Add(“ Amount”,“ Diff%”)。SetCalculation(XLPivotCalculation.PercentageDifferenceFrom).SetBaseField(“ Year”)。SetCalculationItem(XLPivotCalculationItem.Previous).NumberFormat.NumberFormatId = 10;