public ExcelPivotTableFilter AddDatePeriodFilter(ePivotTableDatePeriodFilterType type) { ExcelPivotTableFilter filter = CreateFilter(); filter.Type = (ePivotTableFilterType)type; filter.CreateDateDynamicFilter(type); filter.Filter.Save(); _filters.Add(filter); return(filter); }
internal void CreateDateDynamicFilter(ePivotTableDatePeriodFilterType type) { _filterColumnNode.InnerXml = "<dynamicFilter />"; var df = new ExcelDynamicFilterColumn(NameSpaceManager, _filterColumnNode); switch (type) { case ePivotTableDatePeriodFilterType.LastMonth: df.Type = eDynamicFilterType.LastMonth; break; case ePivotTableDatePeriodFilterType.LastQuarter: df.Type = eDynamicFilterType.LastQuarter; break; case ePivotTableDatePeriodFilterType.LastWeek: df.Type = eDynamicFilterType.LastWeek; break; case ePivotTableDatePeriodFilterType.LastYear: df.Type = eDynamicFilterType.LastYear; break; case ePivotTableDatePeriodFilterType.M1: df.Type = eDynamicFilterType.M1; break; case ePivotTableDatePeriodFilterType.M2: df.Type = eDynamicFilterType.M2; break; case ePivotTableDatePeriodFilterType.M3: df.Type = eDynamicFilterType.M3; break; case ePivotTableDatePeriodFilterType.M4: df.Type = eDynamicFilterType.M4; break; case ePivotTableDatePeriodFilterType.M5: df.Type = eDynamicFilterType.M5; break; case ePivotTableDatePeriodFilterType.M6: df.Type = eDynamicFilterType.M6; break; case ePivotTableDatePeriodFilterType.M7: df.Type = eDynamicFilterType.M7; break; case ePivotTableDatePeriodFilterType.M8: df.Type = eDynamicFilterType.M8; break; case ePivotTableDatePeriodFilterType.M9: df.Type = eDynamicFilterType.M9; break; case ePivotTableDatePeriodFilterType.M10: df.Type = eDynamicFilterType.M10; break; case ePivotTableDatePeriodFilterType.M11: df.Type = eDynamicFilterType.M11; break; case ePivotTableDatePeriodFilterType.M12: df.Type = eDynamicFilterType.M12; break; case ePivotTableDatePeriodFilterType.NextMonth: df.Type = eDynamicFilterType.NextMonth; break; case ePivotTableDatePeriodFilterType.NextQuarter: df.Type = eDynamicFilterType.NextQuarter; break; case ePivotTableDatePeriodFilterType.NextWeek: df.Type = eDynamicFilterType.NextWeek; break; case ePivotTableDatePeriodFilterType.NextYear: df.Type = eDynamicFilterType.NextYear; break; case ePivotTableDatePeriodFilterType.Q1: df.Type = eDynamicFilterType.Q1; break; case ePivotTableDatePeriodFilterType.Q2: df.Type = eDynamicFilterType.Q2; break; case ePivotTableDatePeriodFilterType.Q3: df.Type = eDynamicFilterType.Q3; break; case ePivotTableDatePeriodFilterType.Q4: df.Type = eDynamicFilterType.Q4; break; case ePivotTableDatePeriodFilterType.ThisMonth: df.Type = eDynamicFilterType.ThisMonth; break; case ePivotTableDatePeriodFilterType.ThisQuarter: df.Type = eDynamicFilterType.ThisQuarter; break; case ePivotTableDatePeriodFilterType.ThisWeek: df.Type = eDynamicFilterType.ThisWeek; break; case ePivotTableDatePeriodFilterType.ThisYear: df.Type = eDynamicFilterType.ThisYear; break; case ePivotTableDatePeriodFilterType.Yesterday: df.Type = eDynamicFilterType.Yesterday; break; case ePivotTableDatePeriodFilterType.Today: df.Type = eDynamicFilterType.Today; break; case ePivotTableDatePeriodFilterType.Tomorrow: df.Type = eDynamicFilterType.Tomorrow; break; case ePivotTableDatePeriodFilterType.YearToDate: df.Type = eDynamicFilterType.YearToDate; break; default: throw new Exception($"Unsupported Pivottable filter type {type}"); } _filter = df; }