使用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 安装。

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() 方法保存结果文档。

完整示例代码如下:

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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容