文档详情

C#实现冻结Excel窗口以锁定行列或解除冻结.docx

发布:2025-05-21约1.71千字共3页下载文档
文本预览下载声明

C#实现冻结Excel窗口以锁定行列或解除冻结

目录免费.NETExcel库C#冻结Excel窗口(冻结首行、首列、多行多列)C#解除冻结Excel行和列在处理大型Excel工作簿时,有时候我们需要在工作表中冻结窗格,这样可以在滚动查看数据的同时保持某些行或列固定不动。冻结窗格可以帮助我们更容易地导航和理解复杂的数据集。相反,当你不需要冻结窗格时,你可能需要解冻它们以获得完整的视野。

下面将介绍如何使用免费.NET库通过C#实现冻结Excel窗口以锁定行和列,以及如何解除冻结。

免费.NETExcel库

本文提供的实现方案需要用到FreeSpire.XLSfor.NET这个免费库。该库可以在.NET应用程序中快速实现对Excel文档的各种操作。可以通过Nuget直接安装,或者下载后手动引用Dll。

PMInstall-PackageFreeSpire.XLS

C#冻结Excel窗口(冻结首行、首列、多行多列)

FreeSpire.XLSfor.NET免费库提供了Worksheet.FreezePanes(introwIndex,intcolumnIndex)方法来冻结Excel行和列。其中的两个参数:

rowIndex:表示行的索引(索引从1开始),在该行之上的所有行将被冻结。columnIndex:表示列的索引(索引从1开始),在该列左边的所有列将被冻结。

因此,要冻结首行即为FreezePanes(2,1),冻结首列为FreezePanes(1,2),同时冻结首行首列为FreezePanes(2,2),以此类推。

以下为冻结Excel行或列的C#示例代码:

usingSpire.Xls;

namespaceFreezeTopRow

classProgram

staticvoidMain(string[]args)

//加载Excel文档

Workbookworkbook=newWorkbook();

workbook.LoadFromFile(@C:\Users\Administrator\Desktop\测试.xlsx);

//获取第一张工作表

Worksheetsheet=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()方法即可,示例代码如下:

usingSpire.Xls;

namespaceUnfreezeExcelPane

classProgram

staticvoidMain(string[]args)

//加载Excel文件

Workbookworkbook=newWorkbook();

workbook.LoadFromFile(冻结行列.xls);

//获取第一张工作表

Worksheetsheet=workbook.Worksheets[0];

//解冻工作表中的行或列

sheet.RemovePanes();

//保存文件

workbook.SaveToFile(解冻Excel行列.xlsx,ExcelVersion.Version2016);

}

显示全部
相似文档