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

相关推荐
Martina_03218 小时前
AI生成的3D模型打印后沿层纹开裂?用6步检查方向、壁厚与填充
图像处理·人工智能·数学建模·3d·自然语言处理·游戏策划·1024程序员节
c_hn_0078 小时前
量化数据12:国内期货L2历史数据:Tick、逐笔、五档盘口一次性打包下载
数据库·1024程序员节·#深度订单簿数据·#历史行情订单薄·#本地csv数据存储
释厄62310 小时前
同性线套娃律——圆面积必然=1+2+...+n 的求和·圆心不与 π 相关
java·人工智能·算法·1024程序员节
在所不辞兄12 小时前
【零基础学智能仿真-69】综合项目——材料参数驱动的仿真研究
人工智能·深度学习·神经网络·算法·机器学习·1024程序员节
Captain1314_李祖团13 小时前
章节3:MLIR完成一个端到端的流程
mlir·1024程序员节
Solange__14 小时前
在线3D预览器、Blender和游戏引擎怎么选?按5类任务比较格式、隐私与编辑性
人工智能·游戏·3d·游戏引擎·blender·1024程序员节·关卡设计
爱青菜14 小时前
Ribbon 七种负载均衡策略详解:原理、源码与选型实践
1024程序员节
云和数据.ChenGuang15 小时前
再论深拷贝和浅拷贝
开发语言·人工智能·python·1024程序员节
总要学点什么16 小时前
第92篇:三维特效-圆(逐渐消逝)——从圆心开始,让一个洞把整片光啃到只剩外圈
gis·webgl·cesium·空间分析·1024程序员节
普通人618 小时前
CSS-box-sizing-使用指南
开发语言·前端·css·1024程序员节