设置DateTime的NumberFormat如果至少有一个值为null,则PivotField会引发异常。
我们在C#代码中从头开始构建数据透视表。其中一个工作表包含数据,数据透视表在另一个工作表上存在。如果Data没有null值,下面的代码可以正常工作,但是当Data有一个或多个null-values时,它会引发Exception。 当我们编写pivotField.NumberFormat属性时会触发异常。
Excel.PivotField pivotField;
string sFieldName;
foreach (DataRow row in tblRowFields.Rows)
{
sFieldName = doReportData.BuildDataFieldCaption(row);
pivotField = pivotTable.PivotFields(sFieldName);
pivotField.Orientation = Excel.XlPivotFieldOrientation.xlRowField;
pivotField.Name = sFieldName;
pivotField.Subtotals[1] = true; // Teilergebnisse abschalten. Dafür ermal das mit Index 1 einschalten
pivotField.Subtotals[1] = false; // um danach das gleiche wirder auszuschalten.
if (!string.IsNullOrEmpty(row["Field_DataType_ExcelFmt"].ToString()))
{
pivotField.NumberFormat = row["Field_DataType_ExcelFmt"].ToString();
}
}
异常的(德语)文本是“Die NumberFormat-Eigenschaft des PivotField-Objektes kann nicht festgelegt werden”,在英语中它将像“PivotField-Object的numberformat-property无法定义”一样。 / p>
有人可以确认我的建议,还是有可能为空值设置PivotFields的NumberFormat?