menu

Document Processing

Interface IPivotCache - FileFormats API Reference | Syncfusion

    Show / Hide Table of Contents

    Interface IPivotCache

    Represents the memory cache for a PivotTable report.

    Namespace: Syncfusion.XlsIO
    Assembly: Syncfusion.XlsIO.Base.dll
    Syntax
    public interface IPivotCache

    Properties

    Index

    Gets the index number of the pivot cache within IPivotCaches. Read-only.

    Declaration
    int Index { get; }
    Property Value
    Type
    System.Int32
    Remarks

    To know more about Pivot Tables refer this link.

    Examples

    Following code snippet illustrates how to use Index property in PivotCache.

          using (ExcelEngine excelEngine = new ExcelEngine())
          {
            //Create a worksheet.        
            IApplication application = excelEngine.Excel;
            application.DefaultVersion = ExcelVersion.Excel2013;
            IWorkbook workbook = application.Workbooks.Create(2);
            IWorksheet sheet = workbook.Worksheets[0];
            IWorksheet pivotSheet = workbook.Worksheets[1];
            sheet.Range["A1"].Text = "Student ID";
            sheet.Range["B1"].Text = "Student Name";
            sheet.Range["C1"].Text = "Mark(Out of 100)";
            sheet.Range["D1"].Text = "Student City";
            sheet.Range["A1:D1"].AutofitColumns();
            sheet.Range["A2"].Number = 1;
            sheet.Range["A3"].Number = 2;
            sheet.Range["A4"].Number = 3;
            sheet.Range["A5"].Number = 4;
            sheet.Range["A6"].Number = 5;
            sheet.Range["B2"].Text = "Andrew";
            sheet.Range["B3"].Text = "Marson";
            sheet.Range["B4"].Text = "Jack";
            sheet.Range["B5"].Text = "Sam";
            sheet.Range["B6"].Text = "Breto";
            sheet.Range["C2"].Number = 77;
            sheet.Range["C3"].Number = 45;
            sheet.Range["C4"].Number = 92;
            sheet.Range["C5"].Number = 39;
            sheet.Range["C6"].Number = 55;
            sheet.Range["D2"].Text = "Chennai";
            sheet.Range["D3"].Text = "Bangalore";
            sheet.Range["D4"].Text = "Chennai";
            sheet.Range["D5"].Text = "Mysore";
            sheet.Range["D6"].Text = "Bangalore";
            IPivotCache cache = workbook.PivotCaches.Add(sheet["A1:D6"]);
    
            //Gets the pivot cache's index number
            int cacheIndex = cache.Index;
            if(cacheIndex >= 0)
            {
                //Your Code Here
            }
    
            IPivotTable pivotTable = pivotSheet.PivotTables.Add("PivotTable1", pivotSheet["A1"], cache);  
            pivotTable.Fields[1].Axis = PivotAxisTypes.Row;
            pivotTable.Fields[3].Axis = PivotAxisTypes.Column;
            IPivotField datafield = pivotTable.Fields[2];    
            pivotTable.DataFields.Add(datafield, "Sum of Marks", PivotSubtotalTypes.Sum);
            pivotTable.BuiltInStyle = PivotBuiltInStyles.PivotStyleMedium20;
            workbook.SaveAs("PivotTables.xlsx");
            workbook.Close();
          }

    IsSerializePivotCache

    Declaration
    bool IsSerializePivotCache { get; set; }
    Property Value
    Type
    System.Boolean

    SourceRange

    Gets the data source IRange for the PivotTable report. Read-only.

    Declaration
    IRange SourceRange { get; set; }
    Property Value
    Type
    IRange
    Remarks

    To know more about Pivot Tables refer this link.

    Examples

    Following code snippet illustrates how to use SourceRange property in PivotCache.

          using (ExcelEngine excelEngine = new ExcelEngine())
          {
            //Create a worksheet.        
            IApplication application = excelEngine.Excel;
            application.DefaultVersion = ExcelVersion.Excel2013;
            IWorkbook workbook = application.Workbooks.Create(2);
            IWorksheet sheet = workbook.Worksheets[0];
            IWorksheet pivotSheet = workbook.Worksheets[1];
            sheet.Range["A1"].Text = "Student ID";
            sheet.Range["B1"].Text = "Student Name";
            sheet.Range["C1"].Text = "Mark(Out of 100)";
            sheet.Range["D1"].Text = "Student City";
            sheet.Range["A1:D1"].AutofitColumns();
            sheet.Range["A2"].Number = 1;
            sheet.Range["A3"].Number = 2;
            sheet.Range["A4"].Number = 3;
            sheet.Range["A5"].Number = 4;
            sheet.Range["A6"].Number = 5;
            sheet.Range["B2"].Text = "Andrew";
            sheet.Range["B3"].Text = "Marson";
            sheet.Range["B4"].Text = "Jack";
            sheet.Range["B5"].Text = "Sam";
            sheet.Range["B6"].Text = "Breto";
            sheet.Range["C2"].Number = 77;
            sheet.Range["C3"].Number = 45;
            sheet.Range["C4"].Number = 92;
            sheet.Range["C5"].Number = 39;
            sheet.Range["C6"].Number = 55;
            sheet.Range["D2"].Text = "Chennai";
            sheet.Range["D3"].Text = "Bangalore";
            sheet.Range["D4"].Text = "Chennai";
            sheet.Range["D5"].Text = "Mysore";
            sheet.Range["D6"].Text = "Bangalore";
            IPivotCache cache = workbook.PivotCaches.Add(sheet["A1:D6"]);
    
            //Gets the data source range for the Pivot cache
            IRange cacheSourceRange = cache.SourceRange;
            if(cacheSourceRange != null)
            {
                //Your Code Here
            }
    
            IPivotTable pivotTable = pivotSheet.PivotTables.Add("PivotTable1", pivotSheet["A1"], cache);  
            pivotTable.Fields[1].Axis = PivotAxisTypes.Row;
            pivotTable.Fields[3].Axis = PivotAxisTypes.Column;
            IPivotField datafield = pivotTable.Fields[2];    
            pivotTable.DataFields.Add(datafield, "Sum of Marks", PivotSubtotalTypes.Sum);
            pivotTable.BuiltInStyle = PivotBuiltInStyles.PivotStyleMedium20;
            workbook.SaveAs("PivotTables.xlsx");
            workbook.Close();
          }

    SourceType

    Gets a value from ExcelDataSourceType that identifies the type of item being published. Read-only.

    Declaration
    ExcelDataSourceType SourceType { get; }
    Property Value
    Type
    ExcelDataSourceType
    Remarks

    To know more about Pivot Tables refer this link.

    Examples

    Following code snippet illustrates how to use SourceType property in PivotCache.

          using (ExcelEngine excelEngine = new ExcelEngine())
          {
            //Create a worksheet.        
            IApplication application = excelEngine.Excel;
            application.DefaultVersion = ExcelVersion.Excel2013;
            IWorkbook workbook = application.Workbooks.Create(2);
            IWorksheet sheet = workbook.Worksheets[0];
            IWorksheet pivotSheet = workbook.Worksheets[1];
            sheet.Range["A1"].Text = "Student ID";
            sheet.Range["B1"].Text = "Student Name";
            sheet.Range["C1"].Text = "Mark(Out of 100)";
            sheet.Range["D1"].Text = "Student City";
            sheet.Range["A1:D1"].AutofitColumns();
            sheet.Range["A2"].Number = 1;
            sheet.Range["A3"].Number = 2;
            sheet.Range["A4"].Number = 3;
            sheet.Range["A5"].Number = 4;
            sheet.Range["A6"].Number = 5;
            sheet.Range["B2"].Text = "Andrew";
            sheet.Range["B3"].Text = "Marson";
            sheet.Range["B4"].Text = "Jack";
            sheet.Range["B5"].Text = "Sam";
            sheet.Range["B6"].Text = "Breto";
            sheet.Range["C2"].Number = 77;
            sheet.Range["C3"].Number = 45;
            sheet.Range["C4"].Number = 92;
            sheet.Range["C5"].Number = 39;
            sheet.Range["C6"].Number = 55;
            sheet.Range["D2"].Text = "Chennai";
            sheet.Range["D3"].Text = "Bangalore";
            sheet.Range["D4"].Text = "Chennai";
            sheet.Range["D5"].Text = "Mysore";
            sheet.Range["D6"].Text = "Bangalore";
            IPivotCache cache = workbook.PivotCaches.Add(sheet["A1:D6"]);
    
            //Gets a value that identifies the type of item being published
            ExcelDataSourceType cacheSourceType = cache.SourceType;
            if(cacheSourceType == ExcelDataSourceType.Worksheet)
            {
                //Your Code Here
            }
    
            IPivotTable pivotTable = pivotSheet.PivotTables.Add("PivotTable1", pivotSheet["A1"], cache);  
            pivotTable.Fields[1].Axis = PivotAxisTypes.Row;
            pivotTable.Fields[3].Axis = PivotAxisTypes.Column;
            IPivotField datafield = pivotTable.Fields[2];    
            pivotTable.DataFields.Add(datafield, "Sum of Marks", PivotSubtotalTypes.Sum);
            pivotTable.BuiltInStyle = PivotBuiltInStyles.PivotStyleMedium20;
            workbook.SaveAs("PivotTables.xlsx");
            workbook.Close();
          }
    Back to top Generated by DocFX
    Copyright © 2001 - 2025 Syncfusion Inc. All Rights Reserved