C# 实现在 Excel 中高效生成和操作表格

在日常工作中,Excel 不仅仅是一个电子表格工具,它还提供了强大的表格功能,帮助我们高效地管理、分析和展示数据。Excel 中的表格不仅仅是简单的数据区域,它具备了排序、筛选、格式化等一系列功能,可以大大提升数据处理的效率。然而,随着数据量的增加,手动操作这些表格变得越来越繁琐。通过编程,我们可以自动化这些操作,利用 C# 在 Excel 中创建、管理和优化表格功能,使得这些复杂的任务变得简单高效。

本文将介绍如何使用 C# 在 Excel 中高效创建和操作表格。

一、准备工作

要在 C# 中实现以上操作,我们可以使用 Spire.XLS 库。Spire.XLS 是一个功能强大的库,它可以帮助我们轻松地生成 Excel 表格、填充数据、应用样式、处理格式和功能性设置等。

安装 Spire.XLS 库

首先,确保你已经在 C# 项目中安装了 Spire.XLS 库。你可以通过 NuGet 包管理器安装:

复制代码
Install-Package Spire.XLS

安装完成后,就可以在代码中引用 Spire.XLS,使用它来操作 Excel 文件。

二、使用 C# 创建 Excel 表格并应用样式

以下是使用 C# 和 Spire.XLS 库实现创建 Excel 表格的步骤:

  • 创建工作簿和工作表:首先,通过 new Workbook() 创建一个新的工作簿对象,并通过 Worksheets0 获取到默认的工作表。
  • 填充数据:使用 Range 对象的 Text 属性填充一些数据到工作表,例如产品编号、产品名称、价格和库存。
  • 创建表格:通过 worksheet.ListObjects.Add 方法,将指定的数据区域转换为 Excel 表格。
  • 应用表格样式:通过 BuiltInTableStyle 为表格设置一个预定义的样式。
  • 保存文件:通过 SaveToFile 方法将生成的 Excel 文件保存到指定路径。

下面是如何在 C# 中实现这些步骤的代码示例:

csharp 复制代码
using Spire.XLS;

class Program
{
    static void Main()
    {
        // 创建一个新的Excel工作簿
        Workbook workbook = new Workbook();
        
        // 获取默认工作表
        Worksheet worksheet = workbook.Worksheets[0];
        
        // 设置数据范围并填充数据
        worksheet.Range["A1"].Text = "产品编号";
        worksheet.Range["B1"].Text = "产品名称";
        worksheet.Range["C1"].Text = "价格";
        worksheet.Range["D1"].Text = "库存";

        worksheet.Range["A2"].Text = "P001";
        worksheet.Range["B2"].Text = "产品A";
        worksheet.Range["C2"].NumberValue = 25.5;
        worksheet.Range["D2"].NumberValue = 100;

        worksheet.Range["A3"].Text = "P002";
        worksheet.Range["B3"].Text = "产品B";
        worksheet.Range["C3"].NumberValue = 15.8;
        worksheet.Range["D3"].NumberValue = 150;

        // 定义数据区域,转换为表格
        ListObject table = worksheet.ListObjects.Add(ListObjectSourceType.Range, worksheet.Range["A1:D3"], true);
        
        // 设置表格样式,应用内建样式
        table.BuiltInTableStyle = TableBuiltInStyles.TableStyleMedium2;

        // 保存Excel文件
        workbook.SaveToFile("产品信息表格.xlsx", ExcelVersion.Version2016);
        Console.WriteLine("Excel文件已保存!");
    }
}

三、使用 C# 修改 Excel 中表格的名称和数据范围

我们可以使用 ListObject 的 DisplayName 属性来修改表格的名称,并通过 Location 属性修改表格的数据范围。例如,如果我们想调整表格的数据范围,可以使用以下代码:

csharp 复制代码
// 获取现有的表格
ListObject table = worksheet.ListObjects[0];

// 修改表格的数据范围
Range newRange = worksheet.Range["C1:F5"];
table.Location = newRange;

// 修改表格名称
table.DisplayName = "Product_Sales";

// 保存文件
workbook.SaveToFile("修改表格名称和数据范围.xlsx", ExcelVersion.Version2016);

四、使用 C# 为 Excel 中的表格添加汇总行

我们可以快速对 Excel 表格中的数据进行汇总并设置计算方式(如求和、平均值等),方法是启用"汇总行"选项。

以下是如何添加汇总行的代码:

csharp 复制代码
// 启用汇总行
table.DisplayTotalRow = true;

// 设置汇总行的标签
table.Columns[0].TotalsRowLabel = "汇总";

// 设置汇总行的计算方式
table.Columns[2].TotalsCalculation = ExcelTotalsCalculation.Sum;  // 价格列求和
table.Columns[3].TotalsCalculation = ExcelTotalsCalculation.Sum;  // 库存列求和

// 保存文件
workbook.SaveToFile("添加汇总行.xlsx", ExcelVersion.Version2016);

五、总结

通过 Spire.XLS 库和 C#,可以方便地在 Excel 文档中生成表格,并对其进行多种操作,例如设置样式、修改数据范围、添加汇总行等。这些功能非常适合用于数据处理和报表生成,能够大大提高工作效率。如果你在工作中需要频繁操作 Excel,使用 C# 与 Spire.XLS 可以帮助你自动化这些流程,减少重复工作。希望这篇文章能帮助你更好地理解如何在 C# 中创建和管理 Excel 表格。

相关推荐
北域码匠8 小时前
PID 控制算法完整详解(C# 原生实现,无第三方库)
c#·pid控制·工控开发·闭环控制·自动控制算法·数字pid·增量式pid
离陌在学C#9 小时前
C# 重载与重写:深入理解面向对象编程的核心概念
java·c#
asdzx6712 小时前
Java 实战:基于 Spire.Doc 高效提取 Word 文档文本与图片
java·c#·word
小金子会发光12 小时前
C# WinForms 基于 Socket 手搓 Modbus TCP 调试助手(支持 01/02/03/04/05/06/0F/10)
c#·socket·plc·modbus tcp·工业通信
慧都小妮子14 小时前
PDF图片提取总“褪色“?Aspose.PDF 多层级提取能力详解
pdf·c#·.net·图片处理·文档处理·色彩空间
-银雾鸢尾-16 小时前
C#中的反射关键类-Type
开发语言·c#
淡海水17 小时前
15-07-YooAsset面试篇-Unity性能优化与内存管理
java·unity·面试·性能优化·c#·游戏引擎
离陌在学C#18 小时前
C# 多态:面向对象编程的核心特性详解
开发语言·c#
一念春风18 小时前
文件透明加密(C、C#)
c语言·c#·wpf
hez20101 天前
.NET 11 Runtime Async 详解
c#·.net·.net core