我需要使用C#代码从excel文件生成数据透视表。在excel中,一些计算字段当前用于生成数据透视表,我需要将这些公式从excel转换为C#代码。 Excel公式:
=IF(CountA<>0;CountA/CountB;"0")
此公式用于数据透视表中使用的计算字段。这里,CountA和CountB列存在于excel中。
我尝试了以下代码,但它正在抛出interop exception
:
oPivotTable.AddDataField(oPivotTable.CalculatedFields()
.Add("RateA", "= IF('CountA' != 0;'CountA' / 'CountB';0)", true),
" RateA", Excel.XlConsolidationFunction.xlSum);
虽然一些简单的公式适用于calculatedFields。
答案 0 :(得分:1)
请尝试以下代码:
pivotTable.CalculatedFields().Add("RateA","= IF('CountA' != 0,'CountA' / 'CountB',0)", true);
pivotTable.PivotFields("RateA").Orientation = MSExcel.XlPivotFieldOrientation.xlDataField;
pivotTable.PivotFields("Sum of " + drFormula["CustomList"].ToString()).Caption = " RateA";