首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >使用C#代码在 Excel 中冻结行和列

使用C#代码在 Excel 中冻结行和列

原创
作者头像
用户12401097
发布于 2026-09-23 17:42:12
发布于 2026-09-23 17:42:12
1240
举报

Excel 中可以冻结窗格,使指定的行或列在滚动工作表时始终保持可见。当需要处理大量数据时,这一功能尤其有用。本文将介绍如何使用 C# 和 VB.NET 冻结行和/或列。

通过设置工作表中的行索引和列索引,可以冻结所选单元格上方的所有行以及左侧的所有列。

安装相关组件

首先,需要将所需的 DLL 文件添加为 .NET 项目的引用。相关文件可以从官方资源中下载,也可以通过 NuGet 包管理器进行安装。

代码语言:C#
复制
PM> Install-Package Spire.XLS

冻结首行

要冻结 Excel 工作表的首行,需要将选中的单元格设置为 A2(第 2 行、第 1 列)。具体步骤如下:

  1. 创建一个 Workbook 对象。
  2. 使用 Workbook.LoadFromFile() 方法加载 Excel 文件。
  3. 通过 Workbook.WorksheetssheetIndex 获取指定的工作表。
  4. 将 (2, 1) 作为参数传入 Worksheet.FreezePanes(int rowIndex, int columnIndex) 方法,冻结首行。
  5. 使用 Workbook.SaveToFile() 方法将工作簿保存为新的 Excel 文件。

完整示例代码如下:

代码语言:C#
复制
using Spire.Xls;

namespace FreezeTopRow
{
    class Program
    {
        static void Main(string[] args)
        {
            // 创建 Workbook 实例
            Workbook workbook = new Workbook();

            // 加载 Excel 文档
            workbook.LoadFromFile(@"C:\Users\Administrator\Desktop\sample.xlsx");

            // 获取第一个工作表
            Worksheet sheet = workbook.Worksheets[0];

            // 冻结首行
            sheet.FreezePanes(2, 1);

            // 保存为另一个文件
            workbook.SaveToFile("FreezeTopRow.xlsx", ExcelVersion.Version2016);
        }
    }
}

冻结首列

要冻结 Excel 工作表的首列,需要将选中的单元格设置为 B1(第 1 行、第 2 列)。具体步骤如下:

  1. 创建一个 Workbook 对象。
  2. 使用 Workbook.LoadFromFile() 方法加载 Excel 文件。
  3. 通过 Workbook.WorksheetssheetIndex 获取指定的工作表。
  4. 将 (1, 2) 作为参数传入 Worksheet.FreezePanes(int rowIndex, int columnIndex) 方法,冻结首列。
  5. 使用 Workbook.SaveToFile() 方法将工作簿保存为新的 Excel 文件。

完整示例代码如下:

代码语言:C#
复制
using Spire.Xls;

namespace FreezeFirstColumn
{
    class Program
    {
        static void Main(string[] args)
        {
            // 创建 Workbook 实例
            Workbook workbook = new Workbook();

            // 加载 Excel 文档
            workbook.LoadFromFile(@"C:\Users\Administrator\Desktop\sample.xlsx");

            // 获取第一个工作表
            Worksheet sheet = workbook.Worksheets[0];

            // 冻结首列
            sheet.FreezePanes(1, 2);

            // 保存为另一个文件
            workbook.SaveToFile("FreezeFirstColumn.xlsx", ExcelVersion.Version2016);
        }
    }
}

冻结首行和首列

要同时冻结 Excel 工作表的首行和首列,需要将选中的单元格设置为 B2(第 2 行、第 2 列)。具体步骤如下:

  1. 创建一个 Workbook 对象。
  2. 使用 Workbook.LoadFromFile() 方法加载 Excel 文件。
  3. 通过 Workbook.WorksheetssheetIndex 获取指定的工作表。
  4. 将 (2, 2) 作为参数传入 Worksheet.FreezePanes(int rowIndex, int columnIndex) 方法,同时冻结首行和首列。
  5. 使用 Workbook.SaveToFile() 方法将工作簿保存为新的 Excel 文件。

完整示例代码如下:

代码语言:C#
复制
using Spire.Xls;

namespace FreezeFirstRowAndFirstColumn
{
    class Program
    {
        static void Main(string[] args)
        {
            // 创建 Workbook 实例
            Workbook workbook = new Workbook();

            // 加载 Excel 文档
            workbook.LoadFromFile(@"C:\Users\Administrator\Desktop\sample.xlsx");

            // 获取第一个工作表
            Worksheet sheet = workbook.Worksheets[0];

            // 冻结首行和首列
            sheet.FreezePanes(2, 2);

            // 保存为另一个文件
            workbook.SaveToFile("FreezeFirstRowAndFirstColumn.xlsx", ExcelVersion.Version2016);
        }
    }
}

总结

在处理包含大量数据的 Excel 工作表时,冻结窗格可以帮助用户在滚动查看内容时始终保持关键行或列可见。通过设置冻结位置,可以冻结首行、首列,也可以同时冻结首行和首列。本文介绍了如何使用 C# 加载 Excel 工作簿并获取指定工作表,然后通过 FreezePanes() 方法设置冻结区域。根据不同的参数,可以实现不同的冻结效果,完成设置后再将处理后的工作簿保存为新的 Excel 文件

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 安装相关组件
  • 冻结首行
  • 冻结首列
  • 冻结首行和首列
  • 总结
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档