C# 冻结Excel窗口以锁定行列、或解除冻结
在处理大型Excel工作簿时,有时候我们需要在工作表中冻结窗格,这样可以在滚动查看数据的同时保持某些行或列固定不动。冻结窗格可以帮助我们更容易地导航和理解复杂的数据集。相反,当你不需要冻结窗格时,你可能需要解冻它们以获得完整的视野。
下面将介绍如何使用免费.NET库通过C#实现冻结Excel窗口以锁定行和列,以及如何解除冻结。
免费.NET Excel库:
本文提供的实现方案需要用到 Free Spire.XLS for .NET 这个免费库。该库可以在 .NET 应用程序中快速实现对 Excel 文档的各种操作。可以通过Nuget直接安装,或者下载后手动引用Dll。
PM> Install-Package FreeSpire.XLS
C# 冻结Excel窗口(冻结首行、首列、多行多列)
Free Spire.XLS for .NET免费库提供了 Worksheet.FreezePanes(int rowIndex, int columnIndex) 方法来冻结Excel行和列。其中的两个参数:
- rowIndex: 表示行的索引 (索引从1开始),在该行之上的所有行将被冻结。
- columnIndex: 表示列的索引(索引从1开始),在该列左边的所有列将被冻结。
因此,要冻结首行即为FreezePanes(2, 1),冻结首列为FreezePanes(1, 2),同时冻结首行首列为FreezePanes(2, 2),以此类推。
以下为冻结Excel行或列的C#示例代码:
using Spire.Xls; namespace FreezeTopRow
{
class Program
{
static void Main(string[] args)
{
//加载Excel文档
Workbook workbook = new Workbook();
workbook.LoadFromFile(@"C:\Users\Administrator\Desktop\测试.xlsx"); //获取第一张工作表
Worksheet sheet = workbook.Worksheets[0]; //冻结首行
sheet.FreezePanes(2, 1); //冻结首列
//sheet.FreezePanes(1, 2); //冻结首行首列
//sheet.FreezePanes(2, 2); //冻结前三行
//sheet.FreezePanes(4, 1); //保存文件
workbook.SaveToFile("冻结Excel行列.xlsx", ExcelVersion.Version2016);
}
}
}
C# 解除冻结Excel行和列
要解除冻结,直接使用 Worksheet.RemovePanes() 方法即可,示例代码如下:
using Spire.Xls;
namespace UnfreezeExcelPane
{
class Program
{ static void Main(string[] args)
{
//加载Excel文件
Workbook workbook = new Workbook();
workbook.LoadFromFile("冻结行列.xls"); //获取第一张工作表
Worksheet sheet = workbook.Worksheets[0]; //解冻工作表中的行或列
sheet.RemovePanes(); //保存文件
workbook.SaveToFile("解冻Excel行列.xlsx", ExcelVersion.Version2016); }
}
}
C# 冻结Excel窗口以锁定行列、或解除冻结的更多相关文章
- UWP Composition API - New FlexGrid 锁定行列
如果之前看了 UWP Jenkins + NuGet + MSBuild 手把手教你做自动UWP Build 和 App store包 这篇的童鞋,针对VS2017,需要对应更新一下配置,需要的童鞋点 ...
- RDIFramework.NET ━ .NET快速信息化系统开发框架 V3.2-新增锁定用户与解除锁定用户的功能
锁定用户功能在现实应用场景中得到了大量的应用,当我们需要限制某用户的登录,又不能删除这个用户时就可以使用锁定功能,如:未授权的用户尝试错误密码错误过多可以尝试的用户进行锁定,又如ATM机上取钱时密码错 ...
- Excel(Access)文件共享锁定数溢出(Error 3052)的解决方法
Excel或Access均可能会提示:文件共享锁定数溢出(Error 3052),主要版本为office 2003,在其他版本上未遇到.错误提示如下: Microsoft JET Database E ...
- [JAVA] 冻结Excel的第一行或第一列
可以按照如下设置创建冻结窗口. sheet.createFreezePane( 3, 2, 3, 2 ); 前两个参数是你要用来拆分的列数和行数.后两个参数是下面窗口的可见象限,其中第三个参数是右边区 ...
- Excel单元格锁定及解锁
Excel VBA 宏 学习使用: 一.工作表单元格的锁定: 1.选择需要锁定的单元格. 2.鼠标右键----设置单元格格式. 3.设置 “保护”--锁定 -- 确定. 4.回到表头,[审阅]--- ...
- Excel学习笔记:行列转换
目录 offset函数 行列转换的三种方式 1.右键转置 2.转置公式TRANSPOSE 3.引用函数OFFSET+ROWS/COLUMN(支持随时更新数据) 一行(列)转多行多列 offset函数 ...
- Reporting services导出的Excel文件避免出现隐藏行列的布局
开发Reporting services时,为了避免在导出的Excel文件中出现隐藏的行和列,必须遵循以下规则: 1.Page header中的Textbox直接必须紧密贴合在一起 2.Page he ...
- Excel的公式:锁定某个区域函数--OFFSET()
OFFSET(标识位置,偏移的行数,偏移的列数,偏移后锁定的行数,偏移后锁定的列数) 打个比方解释:在xy轴上画一个矩形 标识位置:等同于原点; 偏移的行数:矩形的起始y轴坐标; 偏移的列数:矩形的起 ...
- excel窗口独立显示/单独显示
天赋异禀的亲,一看就懂!
- 自动化可用到的Java读取Excel文件指定的行列数据
前言 在做接口自动化的时候,通常会遇到数据取用及存放的问题,一般有三种方式可选择 1.数据库存取 2.表格存取 3.项目配置文件存取 这里仅展示下第二种方式表格取数据的 示例 import org.a ...
随机推荐
- 使用@RequestBody注解踩的坑
一.问题由来 最近在和前端调试一个自己写的接口时,频频出现问题,让我很是烦恼.因此写下这篇博文来记录开发中遇到的一些问题.第一个问题是 前端页面传递参数后,后台不能正常接收参数.我写好接口以后,通过s ...
- 用json画图的画图软件 推荐 Balsamiq
看这个库的时候发现的的这个软件 https://github.com/ironman1987/chinese-developer-roadmap 下载:https://www.zdfans.com/h ...
- ReACT介绍与llama_index ReActAgent实践
Agent是大模型的重要应用方向,而ReACT是学术界提出的重要方法,本文介绍ReACT论文,然后通过llama_index ReActAgent来分析ReACT的执行过程. ReACT <RE ...
- ld: symbol(s) not found for architecture x86_64问题解决
一 写在前面的话: 音频算法仿真过程中,本来是一个跑的好好地程序,突然间在mac下就报错了,出现的错误是: ld: symbol(s) not found for architecture x86_6 ...
- SpringSecurity(7)--- Security+JWT搭建简单的授权服务器和资源服务器
Security+JWT搭建简单的授权服务器和资源服务器 之前有两篇博客分别将来介绍了 OAuth 2.0 和 JWT 1.OAuth 2.0详解 2.SpringSceurity(6)---JWT详 ...
- 应用层01-HTTP
2.1 应用层协议原理 2.1.1 网络应用程序体系结构 研发网络应用的程序的核心是写出能够运行在不同的端系统和通过网络彼此通信的程序. 例如: Web应用程序 客户:浏览器程序(进程) 服务:Web ...
- 使用docker-compose管理freeswitch容器
概述 之前的文章我们介绍过如何将freeswitch做成docker镜像,也使用命令行模式正常启动了fs的docker容器. 但是当我们需要同时管理多个docker容器的时候,还是使用docker-c ...
- Spring Boot学习日记13
学习引入Thymeleaf Thymeleaf 官网:https://www.thymeleaf.org/ Thymeleaf 在Github 的主页:https://github.com/thyme ...
- 工作记录:TypeScript从入门到项目实战(项目篇)
Vue项目中使用 前面两篇介绍过TypeScript基础和较深入的东西,本章介绍如何在Vue项目中使用. 项目创建 创建项目直接使用Vue-cli创建 下面是步骤: 1.运行vuecli, 2.选择合 ...
- cmake:针对某些依赖 openssl-1.0 而机器上还有其他版本的 openssl
指定下列变量: -DOPENSSL_INCLUDE_DIR:指向 openssl-1.0 的 include 目录 -DOPENSSL_SSL_LIBRARIES:指向 openssl-1.0 的 l ...