C#教程

关注公众号 jb51net

关闭
首页 > 软件编程 > C#教程 > C#操作Excel工作表

C#操作Excel工作表(添加、删除、复制、移动、重命名)的完整指南

作者:Eiceblue

在日常开发中,我们经常需要对 Excel 文件进行各种操作,本文演示如何在 同一个工作簿内 完成多种工作表管理操作,包括添加,删除,复制,移动,重命名以及移动工作表,感兴趣的小伙伴可以了解下

在日常开发中,我们经常需要对 Excel 文件进行各种操作,而不仅仅是写入或读取数据。比如在处理报表时,可能需要 添加新的工作表、删除不需要的表、复制或移动表格内容,甚至对工作表进行重命名和调整顺序。掌握这些操作能让你的 Excel 文件更加灵活,结构更清晰。

本文演示如何在 同一个工作簿内 完成多种工作表管理操作,包括添加、删除、复制、移动、重命名以及移动工作表。所有操作都基于同一个示例文件,便于截图展示效果。

本文使用免费的 Free Spire.XLS for .NET,可通过 NuGet 安装:

Install-Package FreeSpire.XLS

1. 初始化工作簿

新建的 Workbook 默认包含三个工作表(Sheet1、Sheet2、Sheet3)。我们从这里开始操作。

using Spire.Xls;
using System.Drawing;

Workbook workbook = new Workbook();
Worksheet sheet1 = workbook.Worksheets[0];
sheet1.Name = "默认工作表1";
sheet1.Range["A1"].Text = "这是第一个默认工作表";

说明

2. 添加工作表

可以通过 Worksheets.Add() 方法添加新的工作表。

Worksheet newSheet = workbook.Worksheets.Add("新增工作表");
newSheet.Range["A1"].Text = "这是新建的工作表";

应用场景

3. 删除工作表

如果不需要某个工作表,可以直接删除。这里我们删除第三个默认工作表(Sheet3)。

workbook.Worksheets[2].Remove();  // 删除第三个默认工作表

说明:删除后,工作簿中的工作表总数会减少,后续的索引也会自动调整。

4. 复制工作表

复制一个已有的工作表到新的位置。这里我们复制第一个工作表。

Worksheet copiedSheet = workbook.Worksheets.Add("复制的表");
copiedSheet.CopyFrom(sheet1);
copiedSheet.Range["A2"].Text = "这是复制自第一个工作表的副本";

场景

5. 移动工作表

可以改变工作表在工作簿中的顺序。这里把“新增工作表”移动到第一个位置。

Worksheet sheetToMove = workbook.Worksheets["新增工作表"];
sheetToMove.MoveWorksheet(0);  // 移动到第一个位置

说明MoveWorksheet() 方法允许把指定的表移动到目标索引位置。索引从 0 开始。

6. 重命名工作表

工作表命名在报表管理中非常重要,合理命名有助于区分内容。这里我们把第二个工作表改名为“销售数据”。

workbook.Worksheets[2].Name = "销售数据";
workbook.Worksheets[2].Range["A1"].Text = "这里是销售数据表";

场景:将默认的 “Sheet1”、“Sheet2” 改为业务相关的名称,如“财务报表”、“年度统计”。

7. 复制内容到其他工作表

除了移动整个工作表,也可以将某些单元格区域复制或移动到其他表。这里我们将“销售数据”的 A2:C3 区域复制到“复制数据工作表”的 A2 开始的区域。

Worksheet source = workbook.Worksheets["销售数据"];
Worksheet target = workbook.Worksheets.Add("复制数据工作表");
target.Range["A1"].Text = "这是用于复制数据的工作表";

// 在源表中填充一些示例数据
source.Range["A2"].Text = "产品";
source.Range["B2"].Text = "数量";
source.Range["C2"].Text = "金额";
source.Range["A3"].Text = "电脑";
source.Range["B3"].NumberValue = 10;
source.Range["C3"].NumberValue = 50000;
source.Range["A2:C3"].Style.Color = Color.LightGray;

// 将源表的 A1:C2 区域复制到目标表的 A1
source.Range["A2:C3"].Copy(target.Range["A2"]);

说明

8. 将工作表复制到其他工作簿

有时我们需要将某个工作表从当前工作簿转移到另一个文件中,便于拆分数据或单独保存。下面演示如何把“销售数据”工作表复制到新的工作簿,并保存为单独文件。

// 获取要复制的工作表
Worksheet sheetToCopy = workbook.Worksheets["销售数据"];

// 新建一个目标工作簿
Workbook newWorkbook = new Workbook();

// 清空默认生成的工作表,避免混乱
newWorkbook.Worksheets.Clear();

// 在新工作簿中添加并复制工作表
Worksheet newSheet1 = newWorkbook.Worksheets.Add("销售数据副本");
newSheet1.CopyFrom(sheetToCopy);

// 删除原工作表即可完成移动
//sheetToCopy.Remove();

说明

9. 保存文件

最后,将工作簿保存为 Excel 文件以便查看结果。

workbook.SaveToFile("工作表操作示例.xlsx", ExcelVersion.Version2016);
newWorkbook.SaveToFile("复制到新工作簿示例.xlsx", ExcelVersion.Version2016);

生成的文件中包含:

生成的 Excel 工作簿预览:

复制的新工作簿预览:

10. 关键方法总结

操作类型方法/属性说明
添加表Worksheets.Add("name")新建一个工作表
删除表Worksheets[index].Remove()删除指定索引的工作表
复制表copiedSheet.CopyFrom(sourceSheet)将现有工作表复制到新表
移动表Worksheet.MoveWorksheet(positionIndex)调整工作表在工作簿中的顺序
重命名表Worksheet.Name设置或获取工作表的名称
移动单元格sourceRange.Copy(targetRange)将指定单元格区域复制到其他表

通过以上操作,你已经可以灵活地用 C# 操作 Excel 工作簿中的工作表。这些操作在日常文档管理和自动化处理中非常实用,能让 Excel 文件的组织更加清晰高效。

到此这篇关于C#操作Excel工作表(添加、删除、复制、移动、重命名)的完整指南的文章就介绍到这了,更多相关C#操作Excel工作表内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文