|
在处理大型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);
-
- }
- }
- }
复制代码
来源:https://www.cnblogs.com/Yesi/p/18136075
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作! |
|