使用C#代码在Excel中创建数据透视表

数据透视表是一种交互式表格,能够快速计算、汇总和分析大量数据。作为 Excel 中最强大的工具之一,它使用户能够从不同角度查看静态数据,同时让数据之间的比较更加直观。在本文中,您将学习如何使用 Spire.XLS for .NET 编程创建 Excel 数据透视表。

Spire.XLS for .NET是什么?

Spire.XLS for .NET 是由 E-ICEBLUE 提供的一款专业 Excel 操作类库,专为 .NET 开发者设计。它允许开发者在无需安装 Microsoft Excel 的情况下,创建、读取、编辑、转换和导出 Excel 文件(包括 XLS 和 XLSX 格式)。

主要特点包括:

  • 全功能 Excel 操作:支持数据写入、公式计算、单元格样式设置、图表插入、条件格式、数据验证等常用功能。

  • 强大的文档转换能力:可以将 Excel 文件转换为 PDF、HTML、图片等多种格式。

  • 数据透视表与图表支持:可以创建和修改数据透视表、图表,实现数据分析和可视化。

  • 独立运行:不依赖 Microsoft Office 或 Excel 安装环境,适合在服务器端或桌面应用中使用。

  • 安全高效:所有操作在本地完成,数据安全可靠,同时处理大数据文件性能优越。

Spire.XLS for .NET 不仅适合企业开发者在应用程序中集成 Excel 功能,也适合需要自动化处理大量 Excel 数据的开发场景,是 .NET 环境下处理 Excel 文件的高效工具。

安装 Spire.XLS for .NET

首先,您需要将 Spire.XLS for .NET 包中的 DLL 文件添加为 .NET 项目的引用。这些 DLL 文件可以通过此链接下载,或通过 NuGet 安装。

cs 复制代码
PM> Install-Package Spire.XLS

在 Excel 中创建数据透视表

详细步骤如下:

  1. 创建一个 Workbook 对象。

  2. 使用 Workbook.LoadFromFile() 方法加载示例 Excel 文档。

  3. 通过 Workbook.Worksheets[] 属性获取指定的工作表。

  4. 使用 Worksheet.Range[] 属性选择数据源范围,然后通过 Workbook.PivotCaches.Add(CellRange) 方法创建 PivotCache 来保存数据源信息。

  5. 使用 Worksheet.PivotTables.Add(String, CellRange, PivotCache) 方法在指定工作表中添加数据透视表,并设置其位置和缓存。

  6. 定义数据透视表的行标签,然后使用 PivotTable.DataFields.Add(IPivotField, String, SubtotalTypes) 方法将字段添加到数据区域进行计算。

  7. 使用 PivotTable.BuiltInStyle 属性设置数据透视表的样式。

  8. 使用 Workbook.SaveToFile() 方法保存结果文档。

完整示例代码如下:

cs 复制代码
using Spire.Xls;

namespace createPivotTable
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建一个 Workbook 对象
            Workbook workbook = new Workbook();

            //加载示例 Excel 文档
            workbook.LoadFromFile(@"E:\Files\sample.xlsx");

            //获取指定的工作表
            Worksheet sheet = workbook.Worksheets[0];

            //选择数据源范围
            CellRange dataRange = sheet.Range["B1:F11"];
            PivotCache cache = workbook.PivotCaches.Add(dataRange);

            //创建 PivotCache 来保存数据源信息
            PivotTable pt = sheet.PivotTables.Add("Pivot Table", sheet.Range["H3"], cache);

            //定义数据透视表的行标签
            PivotField r1 = pt.PivotFields["Country"] as PivotField;
            r1.Axis = AxisTypes.Row;
            pt.Options.RowHeaderCaption = "Country";

            PivotField r2 = pt.PivotFields["Product"] as PivotField;
            r2.Axis = AxisTypes.Row;

            //将字段添加到数据区域进行计算
            pt.DataFields.Add(pt.PivotFields["Quantity"], "SUM of Quantity", SubtotalTypes.Sum);
            pt.DataFields.Add(pt.PivotFields["Total Amount"], "SUM of Total Amount", SubtotalTypes.Sum);

            //设置数据透视表的样式
            pt.BuiltInStyle = PivotBuiltInStyles.PivotStyleMedium10;

            //保存结果文件
            workbook.SaveToFile("CreatePivotTable.xlsx", ExcelVersion.Version2010);
    
        }
    }
}

申请临时许可证

如果您希望去除生成文档中的评估信息,或解除功能限制,请为自己申请一份 30 天的试用许可证。

相关推荐
2301_800256117 小时前
关系数据库小测练习笔记(1)
1024程序员节
金融小师妹16 小时前
基于多源政策信号解析与量化因子的“12月降息预期降温”重构及黄金敏感性分析
人工智能·深度学习·1024程序员节
GIS数据转换器21 小时前
基于GIS的智慧旅游调度指挥平台
运维·人工智能·物联网·无人机·旅游·1024程序员节
南方的狮子先生1 天前
【C++】C++文件读写
java·开发语言·数据结构·c++·算法·1024程序员节
Neil今天也要学习2 天前
永磁同步电机无速度算法--基于三阶LESO的反电动势观测器
算法·1024程序员节
开开心心_Every2 天前
专业视频修复软件,简单操作效果好
学习·elasticsearch·pdf·excel·音视频·memcache·1024程序员节
liu****3 天前
16.udp_socket(三)
linux·开发语言·数据结构·c++·1024程序员节
草莓熊Lotso3 天前
《算法闯关指南:优选算法--位运算》--38.消失的两个数字
服务器·c++·算法·1024程序员节
unable code4 天前
攻防世界-Misc-can_has_stdio?
网络安全·ctf·misc·1024程序员节
思茂信息4 天前
CST License(Flexnet)设置与问题处理方法
服务器·网络·单片机·3d·php·1024程序员节·cst