EPPlus-数据透视表未添加日期列

时间:2018-09-10 14:37:57

标签: c# excel epplus

我必须为工作生成透视表报告,该报告每周都要分解资源分配。 (即资源1在9/10/2018上工作10个小时,在9/17/2018上工作15个小时,等等。)我使用Excel Interop API来工作,但是,这在EPPlus中是令人窒息的。可以添加列不以日期为开头的任何值而不会出现问题,但是如果涉及日期,则直接添加列就不会添加该值。没有引发任何错误,也没有文档可以解释发生了什么。它的行为就好像已经成功添加了,但是打开工作表时,那里什么都没有,如果您单击“数据透视表字段”菜单中的列,则它不会出现问题。

View that I see after adding a few non-date columns and attempting to add the date columns

测试我正在添加这些列的代码:

ExcelWorksheet forecast = Workbook.Worksheets[ForecastSheet.SheetName];
ExcelPivotTable pivotTable =
Worksheet.PivotTables.Add(Worksheet.Cells[1, 1], forecast.Cells[forecast.Dimension.Address],
    "PIVOT_" + SheetName);
pivotTable.RowFields.Add(pivotTable.Fields[AbstractRawDataSheet.ResourceNameColumn - 1]);
pivotTable.RowFields.Add(pivotTable.Fields[AbstractRawDataSheet.ProjectNameColumn - 1]);
pivotTable.DataOnRows = false;
pivotTable.ShowHeaders = true;
pivotTable.ColumnGrandTotals = true;
pivotTable.GrandTotalCaption = "Grand Total";

for(int i = AbstractRawDataSheet.SysTotalHoursSum - 1; i < AbstractRawDataSheet.SysFilteredHours + 2; i++)
    pivotTable.DataFields.Add(pivotTable.Fields[pivotTable.Fields[i].Name]);

注意:+2应该添加01/01/2017和01/08/2017,一条日志消息报告01/01/2017 12:00:00 AM和01/08/2017 12:00:00 AM是在此循环中获取的,但是未添加。

0 个答案:

没有答案