使用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 天的试用许可证。

相关推荐
数据皮皮侠AI14 小时前
上市公司股票名称相似度(1990-2025)
大数据·人工智能·笔记·区块链·能源·1024程序员节
开开心心就好1 天前
系统清理工具清理缓存日志,启动卸载管理
linux·运维·服务器·神经网络·cnn·pdf·1024程序员节
Evan东少4 天前
[踩坑]笔记本Ubuntu20.04+NvidiaRTX5060驱动+cuda+Pytorch+ROS/Python实现人脸追踪(环境准备)
1024程序员节
不爱编程的小陈5 天前
C/C++每日面试题
面试·职场和发展·1024程序员节
开开心心就好5 天前
右键菜单管理工具,添加程序自定义名称位置
linux·运维·服务器·ci/cd·docker·pdf·1024程序员节
码农三叔6 天前
(4-2-05)Python SDK仓库:MCP服务器端(5)Streamable HTTP传输+Streamable HTTP传输
开发语言·python·http·大模型·1024程序员节·mcp·mcp sdk
西幻凌云10 天前
初始——正则表达式
c++·正则表达式·1024程序员节
启芯硬件10 天前
电源XL6009E1的dieshot细节分析-芯片设计干货
大数据·经验分享·硬件工程·1024程序员节
一颗青果12 天前
单例模式 | 死锁
linux·服务器·单例模式·1024程序员节