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() 创建一个新的工作簿对象,并通过 Worksheets[0] 获取到默认的工作表。
  • 填充数据:使用 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 表格。

相关推荐
csdn_aspnet3 小时前
C# 金字塔体积计算程序(Program for volume of Pyramid)
c#
William_cl4 小时前
C# ASP.NET MVC Model 分类:数据传输对象(DTO)—— 跨层传数的 “精简快递“
c#·asp.net·mvc
zwjapple5 小时前
Kafka 从入门到精通完整指南
c#·linq
唐青枫6 小时前
C#.NET SemaphoreSlim 深入解析:轻量级异步锁与并发控制
c#·.net
我是苏苏9 小时前
C#高级:程序查询写法性能优化提升策略(附带Gzip算法示例)
开发语言·算法·c#
sali-tec10 小时前
C# 基于halcon的视觉工作流-章56-彩图转云图
人工智能·算法·计算机视觉·c#
张人玉15 小时前
c#串口读写威盟士五插针
开发语言·c#·通讯
睡前要喝豆奶粉16 小时前
在.NET Core Web Api中使用redis
redis·c#·.netcore
偶尔的鼠标人17 小时前
SqlSugar查询字符串转成Int的问题
c#·sqlsugar