C# Spire操作Excel数据透视表

2023-12-04 01:15

本文主要是介绍C# Spire操作Excel数据透视表,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、概述

数据透视表(Pivot Table)是一种交互式的表,可以进行某些计算,如求和与计数等,可动态地改变透视表版面布置,也可以重新安排行号、列标和页字段。当改变版面布置时,数据透视表也会按照新的布置来进行更新,可以说是一个功能强大的数据分析工具。因此,本篇文章将介绍在C# 中关于Excel数据透视表的操作示例,示例内容主要包含以下要点:

  1. 创建透视表
  2. 创建数据缓存
  3. 创建数据透视表
  4. 添加行字段和列字段
  5. 添加值字段
  6. 设置样式
  7. 设置行折叠、展开
  8. 设置字段升序、降序
  9. 删除透视表

二、使用工具

  • Spire.XLS for .NET pack(可支持80余种Excel内置的数据透视表样式)

PS:安装后,注意在VS程序中引用Spire.XLS.dll,dll文件在安装路径下的Bin文件夹中获取。

三、示例操作

1.创建透视表

            //创建一个Workbook类实例,并加载Excel文档Workbook workbook = new Workbook();workbook.LoadFromFile("test.xlsx");//获取第一个工作表Worksheet sheet = workbook.Worksheets[0];//为需要汇总和分析的数据创建缓存CellRange dataRange = sheet.Range["A1:D10"];PivotCache cache = workbook.PivotCaches.Add(dataRange);//使用缓存创建数据透视表,并指定透视表的名称以及在工作表中的位置PivotTable pivotTable = sheet.PivotTables.Add("PivotTable", sheet.Range["A12"], cache);//添加行字段var r1 = pivotTable.PivotFields["月份"];r1.Axis = AxisTypes.Row;var r2 = pivotTable.PivotFields["厂商"];r2.Axis = AxisTypes.Row;//设置行字段的标题pivotTable.Options.RowHeaderCaption = "月份";//添加列字段var col1 = pivotTable.PivotFields["产品"];col1.Axis = AxisTypes.Column;          //设置列字段的标题pivotTable.Options.ColumnHeaderCaption = "产品";//添加值字段pivotTable.DataFields.Add(pivotTable.PivotFields["总产量"], "求和项:总产量", SubtotalTypes.Sum);//设置透视表的样式(Spire.XLS共支持80余种Excel内置的数据透视表样式)pivotTable.BuiltInStyle = PivotBuiltInStyles.PivotStyleDark13;//保存并打开文档workbook.SaveToFile("数据透视表.xlsx", ExcelVersion.Version2013);System.Diagnostics.Process.Start("数据透视表.xlsx");

测试结果:

2. 设置行折叠、展开

            //创建Workbook类对象,加载Excel文档  Workbook workbook = new Workbook();workbook.LoadFromFile("数据透视表.xlsx");//获取数据透视表  XlsPivotTable pivotTable = workbook.Worksheets[0].PivotTables[0] as XlsPivotTable;//计算数据  pivotTable.CalculateData();//展开”月份”字段下“2”的详细信息  (pivotTable.PivotFields["月份"] as Spire.Xls.Core.Spreadsheet.PivotTables.XlsPivotField).HideItemDetail("2", false);//折叠”月份”字段下“3”的详细信息(pivotTable.PivotFields["月份"] as Spire.Xls.Core.Spreadsheet.PivotTables.XlsPivotField).HideItemDetail("3", true);//保存并打开文档  workbook.SaveToFile("折叠、展开行.xlsx", ExcelVersion.Version2013);System.Diagnostics.Process.Start("折叠、展开行.xlsx");

测试结果:

3. 设置字段排序

这里支持三种不同类型的排序,可根据需要选择相应的排序类型。

            //创建一个Workbook类对象,并加载Excel文档  Workbook workbook = new Workbook();workbook.LoadFromFile("数据透视表.xlsx");//获取数据透视表  Spire.Xls.Core.Spreadsheet.PivotTables.XlsPivotTable pivotTable = workbook.Worksheets[0].PivotTables[0] as Spire.Xls.Core.Spreadsheet.PivotTables.XlsPivotTable;//对指定字段进行升序排序  pivotTable.PivotFields[2].SortType = PivotFieldSortType.Ascending;//保存并打开文档  workbook.SaveToFile("升序.xlsx", ExcelVersion.Version2013);System.Diagnostics.Process.Start("升序.xlsx");

测试结果:

4. 删除透视表

删除透视表可通过以下两种方法:

  • 根据透视表名称删除
  • 根据透视表索引删除
            //创建一个工作簿,并加载Excel文档Workbook workbook = new Workbook();workbook.LoadFromFile("数据透视表.xlsx");//删除第一张工作表上名称为“PivotTable”的数据透视表  workbook.Worksheets[0].PivotTables.Remove("PivotTable");//删除第一张工作表上索引为0即第一个数据透视表  //workbook.Worksheets[0].PivotTables.RemoveAt(0);  //保存文档  workbook.SaveToFile("删除数据透视表.xlsx", ExcelVersion.Version2013);

测试结果:

(本文完)

这篇关于C# Spire操作Excel数据透视表的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/451565

相关文章

C#连接SQL server数据库命令的基本步骤

《C#连接SQLserver数据库命令的基本步骤》文章讲解了连接SQLServer数据库的步骤,包括引入命名空间、构建连接字符串、使用SqlConnection和SqlCommand执行SQL操作,... 目录建议配合使用:如何下载和安装SQL server数据库-CSDN博客1. 引入必要的命名空间2.

使用Python删除Excel中的行列和单元格示例详解

《使用Python删除Excel中的行列和单元格示例详解》在处理Excel数据时,删除不需要的行、列或单元格是一项常见且必要的操作,本文将使用Python脚本实现对Excel表格的高效自动化处理,感兴... 目录开发环境准备使用 python 删除 Excphpel 表格中的行删除特定行删除空白行删除含指定

SQL中如何添加数据(常见方法及示例)

《SQL中如何添加数据(常见方法及示例)》SQL全称为StructuredQueryLanguage,是一种用于管理关系数据库的标准编程语言,下面给大家介绍SQL中如何添加数据,感兴趣的朋友一起看看吧... 目录在mysql中,有多种方法可以添加数据。以下是一些常见的方法及其示例。1. 使用INSERT I

Python使用vllm处理多模态数据的预处理技巧

《Python使用vllm处理多模态数据的预处理技巧》本文深入探讨了在Python环境下使用vLLM处理多模态数据的预处理技巧,我们将从基础概念出发,详细讲解文本、图像、音频等多模态数据的预处理方法,... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核

Java操作Word文档的全面指南

《Java操作Word文档的全面指南》在Java开发中,操作Word文档是常见的业务需求,广泛应用于合同生成、报表输出、通知发布、法律文书生成、病历模板填写等场景,本文将全面介绍Java操作Word文... 目录简介段落页头与页脚页码表格图片批注文本框目录图表简介Word编程最重要的类是org.apach

C#读写文本文件的多种方式详解

《C#读写文本文件的多种方式详解》这篇文章主要为大家详细介绍了C#中各种常用的文件读写方式,包括文本文件,二进制文件、CSV文件、JSON文件等,有需要的小伙伴可以参考一下... 目录一、文本文件读写1. 使用 File 类的静态方法2. 使用 StreamReader 和 StreamWriter二、二进

C#中Guid类使用小结

《C#中Guid类使用小结》本文主要介绍了C#中Guid类用于生成和操作128位的唯一标识符,用于数据库主键及分布式系统,支持通过NewGuid、Parse等方法生成,感兴趣的可以了解一下... 目录前言一、什么是 Guid二、生成 Guid1. 使用 Guid.NewGuid() 方法2. 从字符串创建

MySQL 删除数据详解(最新整理)

《MySQL删除数据详解(最新整理)》:本文主要介绍MySQL删除数据的相关知识,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、前言二、mysql 中的三种删除方式1.DELETE语句✅ 基本语法: 示例:2.TRUNCATE语句✅ 基本语

C# 比较两个list 之间元素差异的常用方法

《C#比较两个list之间元素差异的常用方法》:本文主要介绍C#比较两个list之间元素差异,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. 使用Except方法2. 使用Except的逆操作3. 使用LINQ的Join,GroupJoin

Python实现对阿里云OSS对象存储的操作详解

《Python实现对阿里云OSS对象存储的操作详解》这篇文章主要为大家详细介绍了Python实现对阿里云OSS对象存储的操作相关知识,包括连接,上传,下载,列举等功能,感兴趣的小伙伴可以了解下... 目录一、直接使用代码二、详细使用1. 环境准备2. 初始化配置3. bucket配置创建4. 文件上传到os