DEV Community

Cover image for Easily Create an Excel Pivot Table in Just 3 Steps Using C#
Jollen Moyani for Syncfusion, Inc.

Posted on • Originally published at syncfusion.com on

Easily Create an Excel Pivot Table in Just 3 Steps Using C#

TL;DR: Syncfusion Excel Library is the perfect tool for all kinds of Excel creation, reading, editing, and viewing functionalities. Let’s learn how to create pivot tables in an Excel document using this robust library with C#.

A pivot table is an extraordinary feature in Excel that allows users to summarize and analyze large datasets quickly. It allows the users to create dynamic pivot views by grouping only required fields in the Excel data.

The Syncfusion Excel Library is also known as Essential XlsIO. It facilitates the smooth creation, reading, and editing of Excel documents using C#. It supports the creation of Excel documents from scratch, modification of existing Excel documents, data import and export, Excel formulas, conditional formats, data validations, charts, sparklines, tables, pivot tables, pivot charts, template markers, and much more.

In this blog, we’ll explore the steps to create a pivot table using Syncfusion Excel Library in C#.

Creating a pivot table in Excel using C

Follow these steps to create a pivot table using the Syncfusion Excel Library and C#:

Note: Please refer to the .NET Excel Library’s getting started documentation before proceeding.

1.First, create a .NET Core console application in Visual Studio. Create a .NET Core Console Application
2.Install the latest Syncfusion.XlsIO.Net.Core NuGet package in your app. Install Syncfusion.XlsIO.Net.Core NuGet
3.Finally, add the following code to create a pivot table in a new worksheet(PivotSheet) in the existing Excel document.

using Syncfusion.XlsIO; 

namespace PivotTable

{

    class Program

    {

        public static void Main()

        {

            using (ExcelEngine excelEngine = new ExcelEngine())

            {

                IApplication application = excelEngine.Excel;

                FileStream fileStream = new FileStream("../../../Data/SalesReport.xlsx", FileMode.Open, FileAccess.Read);

                IWorkbook workbook = application.Workbooks.Open(fileStream);

                IWorksheet worksheet = workbook.Worksheets[0]; 

                IWorksheet pivotSheet = workbook.Worksheets.Create("PivotSheet"); 

                //Create a Pivot cache with the given data range.

                IPivotCache cache = workbook.PivotCaches.Add(worksheet["A1:H50"]); 

                //Create "PivotTable1" with the cache at the specified range.

                IPivotTable pivotTable = pivotSheet.PivotTables.Add("PivotTable1", pivotSheet["A1"], cache); 

                //Add Pivot table row fields.             

                pivotTable.Fields[3].Axis = PivotAxisTypes.Row;

                pivotTable.Fields[4].Axis = PivotAxisTypes.Row; 

                //Add Pivot table column fields.

                ivotable.Fields[2].Axis = PivotAxisTypes.Column; 

                //Add data fields.

                IPivotField field = pivotTable.Fields[5];

                pivotTable.DataFields.Add(field, "Units", PivotSubtotalTypes.Sum); 

                field = pivotTable.Fields[6];

                pivotTable.DataFields.Add(field, "Unit Cost", PivotSubtotalTypes.Sum); 

                //Pivot table style.

                pivotTable.BuiltInStyle = PivotBuiltInStyles.PivotStyleMedium14;           

                string fileName = "PivotTable.xlsx";

                //Saving the workbook as a stream.

                FileStream stream = new FileStream(fileName, FileMode.Create, FileAccess.ReadWrite);

                workbook.SaveAs(stream);

                stream.Dispose();

            }

        }

    }

}
Enter fullscreen mode Exit fullscreen mode

Refer to the following images

Input Excel document

Input Excel document

Creating a pivot table in an Excel document using Syncfusion .NET Excel Library and C#

Creating a pivot table in an Excel document using Syncfusion .NET Excel Library and C#

References

For more details, refer to creating pivot tables in Excel using C# documentation and GitHub demo.

Conclusion

Thanks for reading! This blog explored creating a pivot table in an Excel document using C# and the Syncfusion Excel Library(XlsIO). The Excel Library also allows you to export Excel data to images, data tables, CSV, TSV, HTML, collections of objects, ODS, JSON, and other file formats.

Take a moment to peruse the import data documentation, where you’ll discover additional importing options and features such as data tables, collection objects, grid view, data columns, and HTML, all accompanied by code samples.

Feel free to try out these features and share your feedback in the comments section of this blog post!

For existing customers, the new version of Essential Studio is available for download from the License and Downloads page. If you are not a Syncfusion customer, try our 30-day free trial to check out our available features.

For questions, you can contact us through our support forum, support portal, or feedback portal. We are always happy to assist you!

Related blogs

Top comments (0)