在同一张纸上创建几个数据透视表c#

时间:2015-02-23 11:01:05

标签: c# excel pivot-table

我正在尝试在同一张表中创建多个数据透视表, 当我尝试创建一个数据透视表时,它工作得很好,但是当我尝试创建多个数据透视表时,我只得到一个(女巫是所有枢轴的组合,并且具有最后一个数据透视表的名称),这是我的代码:

假设我们将填充来自同一数据源(同一张表)的所有数据透视表

pivotData is : the range of the source table

name is the name of the sheet where we will create the pivots

  public void CreatePivotTable(Range pivotData, List<string> pivotFields, List<string> aggFields, string pivotPosition, string name)
    {

        var pivotTableName = name;

        var pivotDestination = _worksheet.Range[pivotPosition, UseDefault];

        _workbook.PivotTableWizard(
            XlPivotTableSourceType.xlDatabase,
            pivotData,
            pivotDestination,
            pivotTableName,
            true,
            true,
            true,
            true,
            UseDefault,
            UseDefault,
            false,
            false,
            XlOrder.xlDownThenOver,
            0,
            UseDefault,
            UseDefault
            );

        var pivotTable = (PivotTable)_worksheet.PivotTables(pivotTableName);


        foreach (var label in pivotFields.Select(field => ((PivotField)pivotTable.PivotFields(field))))
        {
            label.Orientation = XlPivotFieldOrientation.xlRowField;
        }

        foreach (var sumValues in aggFields.Select(field => ((PivotField)pivotTable.PivotFields(field))))
        {
            sumValues.Orientation =
                XlPivotFieldOrientation.xlDataField;
            sumValues.Function = XlConsolidationFunction.xlSum;
        }

        pivotTable.Format(XlPivotFormatType.xlTable2);
        pivotTable.InGridDropZones = false;

    }

任何人都可以告诉我我在弄什么,我怎么能分别得到每个支点? 我认为有一些名为pivotCache的函数允许我们添加多个Pivot表,但是如何使用它

0 个答案:

没有答案