news 2026/4/16 16:17:31

如何使用 C# 冻结 Excel 行和列

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何使用 C# 冻结 Excel 行和列

当你在处理大型 Excel 文件时,尤其是需要滚动浏览大量行或列时,保持关键数据的可见性可能会变得困难。冻结行和列确保重要数据(如标题)在你浏览工作表时始终可见。此功能在处理大型数据集时非常有用,可以帮助你始终查看关键数据。

在本文中,我们将展示如何使用C#来冻结 Excel 中的行和列。

冻结行和列的作用

冻结行和列可以帮助你保持电子表格中的某些部分在滚动时始终可见。常见的冻结场景包括:

  • 冻结顶部行:在向下滚动时,保持列标题可见。
  • 冻结第一列:在水平滚动时,保持行标识符可见。
  • 同时冻结顶部行和第一列:在滚动时,保持标题和标识符都可见。

前提条件

在开始之前,确保你具备以下条件:

  1. Spire.XLS for .NET:这是一个用于操作 Excel 文件的库,你可以从 E-iceblue 官网 下载。
  2. Visual Studio:用于创建 C# 项目的开发环境。

如何实现冻结行和列

第一步:设置项目

首先,在 Visual Studio 中创建一个新的 C# 项目。然后添加对Spire.XLS的引用。你可以通过 NuGet 安装它:

Install-Package Spire.XLS

第二步:初始化工作簿和工作表

在此步骤中,我们将创建一个新的 Excel 工作簿并添加一些示例数据。

// 创建新的工作簿 Workbook workbook = new Workbook(); // 访问第一个工作表 Worksheet sheet = workbook.Worksheets[0]; // 添加示例数据 sheet.Range["A1"].Text = "姓名"; sheet.Range["B1"].Text = "年龄"; sheet.Range["C1"].Text = "部门"; sheet.Range["A2"].Text = "张三"; sheet.Range["B2"].Text = "28"; sheet.Range["C2"].Text = "人力资源";

第三步:冻结行和列

现在我们已经创建了工作簿,接下来是应用冻结功能。你可以冻结顶部行、第一列或两者,但每次只能应用一种冻结操作。

选项 1:仅冻结顶部行

如果你只想冻结顶部的第一行(例如,保持列标题在向下滚动时始终可见),可以使用以下代码:

sheet.FreezePanes(2, 1); // 冻结顶部行(行 1)
选项 2:仅冻结第一列

如果你只想冻结第一列(例如,保持行标识符在水平滚动时始终可见),可以使用以下代码:

sheet.FreezePanes(1, 2); // 冻结第一列(列 A)
选项 3:同时冻结顶部行和第一列

如果你需要同时冻结顶部行和第一列,可以使用以下代码:

sheet.FreezePanes(2, 2); // 同时冻结顶部行和第一列

第四步:保存工作簿

在应用冻结操作后,将工作簿保存到一个新的文件:

// 保存工作簿,应用冻结操作后 workbook.SaveToFile("FrozenRowsColumns.xlsx", ExcelVersion.Version2013);

完整的示例代码

以下是完整的示例代码,展示如何创建一个 Excel 文件,冻结行和列,并保存最终文件:

using Spire.Xls; class Program { static void Main(string[] args) { // 创建新的工作簿 Workbook workbook = new Workbook(); // 访问第一个工作表 Worksheet sheet = workbook.Worksheets[0]; // 添加示例数据 sheet.Range["A1"].Text = "姓名"; sheet.Range["B1"].Text = "年龄"; sheet.Range["C1"].Text = "部门"; sheet.Range["A2"].Text = "张三"; sheet.Range["B2"].Text = "28"; sheet.Range["C2"].Text = "人力资源"; // 应用冻结操作(例如,冻结顶部行和第一列) sheet.FreezePanes(2, 2); // 同时冻结顶部行和第一列 // 保存应用冻结后的工作簿 workbook.SaveToFile("FrozenRowsColumns.xlsx", ExcelVersion.Version2013); } }

结论

冻结 Excel 中的行和列是处理大型数据集时一个非常有用的功能。使用 Spire.XLS 和 C# ,你可以轻松应用此功能。以下是冻结操作的总结:

  • 仅冻结顶部行sheet.FreezePanes(2, 1);
  • 仅冻结第一列sheet.FreezePanes(1, 2);
  • 同时冻结顶部行和第一列sheet.FreezePanes(2, 2);

每种方法都有助于确保关键信息始终可见,改善在使用 Excel 文件时的用户体验。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 10:54:49

MESCIUS 的PDF文档解决方案-为PDF添加书签导航

为PDF添加书签导航---MESCIUS 的PDF 文档解决方案 2025年12月10日.NET PDF 组件带有书签导航功能,使用户能够快速跳转到复杂的多页文档中的特定内容。MESCIUS 的PDF 文档解决方案.NET PDF 控件中的书签导航功能允许用户使用分层书签列表访问和浏览 PDF 文档中的预定…

作者头像 李华
网站建设 2026/4/16 12:14:09

日报救星!把“今天做了啥”写成升职加分项的3个魔法

‍“今天做了什么?”——这五个字,像不像老板在你工位上安的监控?别慌,我原来也把日报写成流水账,直到有天发现:隔壁组那个月月拿A的小姐姐,日报居然像微博热搜一样好看!她悄悄告诉我…

作者头像 李华
网站建设 2026/4/16 12:27:57

UnoCSS与UniAppX架构融合的工程化实践

UnoCSS与UniAppX架构融合的工程化实践 【免费下载链接】unocss The instant on-demand atomic CSS engine. 项目地址: https://gitcode.com/GitHub_Trending/un/unocss 当我们尝试将原子化CSS引擎UnoCSS集成到UniAppX项目中时,面临的核心挑战是如何在跨平台编…

作者头像 李华
网站建设 2026/4/16 14:01:20

java计算机毕业设计沙县小吃收银系统设计与实现 基于SpringBoot的轻量级快餐店点餐收银一体化平台 JavaWeb小吃门店智能结算与订单管理系统

计算机毕业设计沙县小吃收银系统设计与实现6x7j89(配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。 高峰时段手写单、算价慢、错账多,沙县小吃也急需“扫码即走”的速度…

作者头像 李华
网站建设 2026/4/16 14:05:44

jQuery如何优化大附件分块上传的性能?

大文件传输系统技术方案 一、项目背景与需求痛点 公司现有产品需支持100G级大文件传输(上传/下载),涵盖单文件、文件夹(保留层级结构),并满足高稳定性、加密传输/存储、跨平台兼容(含IE8&…

作者头像 李华
网站建设 2026/4/16 12:27:04

定义GEO新标准:看深圳犀牛云如何助力企业赢取全球AI搜索先机

企业介绍: 犀牛云GEO是深圳紫虎软件有限公司旗下品牌。作为国家高新技术企业和深圳市宝安区创新企业50强,品牌聚焦于GEO(AI搜索优化)领域,已累计服务超过200家全球企业,其中包括华为、顺丰等众多上市公司。…

作者头像 李华