public ExcelPivotTableFilter AddDatePeriodFilter(ePivotTableDatePeriodFilterType type)
        {
            ExcelPivotTableFilter filter = CreateFilter();

            filter.Type = (ePivotTableFilterType)type;

            filter.CreateDateDynamicFilter(type);

            filter.Filter.Save();
            _filters.Add(filter);
            return(filter);
        }
Example #2
0
        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;
        }