如何添加冻结窗格

Chaknith related to 如何添加冻结窗格
查克尼特·宾
2023年三月14日
更新 2024年十二月10日
分享:
This article was translated from English: Does it need improvement?
Translated
View the article in English

介绍

在一个大型数据表中,在查看50多行或超过'Z'列的列时,同时保持相应的标题在视图中可能会很有挑战性。 冻结窗格功能为此问题提供了一个巧妙的解决方案。


开始使用IronXL

立即在您的项目中开始使用IronXL,并享受免费试用。

第一步:
green arrow pointer


添加冻结窗格示例

冻结窗格是一种选项,用于锁定行和列,使其在滚动时保持可见。 这是一个非常有用的功能,可以在快速比较信息时固定表头列或行。

创建冻结窗格(int column, int row)

要添加冻结窗格,请使用CreateFreezePane方法,指定冻结窗格开始的列和行。 指定的列和行未包含在冻结窗格中。 例如,workSheet.CreateFreezePane(1, 4)将创建一个冻结窗格,从列(A)行(1-4)开始。

下面的代码示例演示了如何从A列到B列以及从第1行到第3行创建冻结窗格:

:path=/static-assets/excel/content-code-examples/how-to/add-freeze-panes-add.cs
using IronXL;
using System.Linq;

WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.WorkSheets.First();

// Create freeze pane from column(A-B) and row(1-3)
workSheet.CreateFreezePane(2, 3);

workBook.SaveAs("createFreezePanes.xlsx");
Imports IronXL
Imports System.Linq

Private workBook As WorkBook = WorkBook.Load("sample.xlsx")
Private workSheet As WorkSheet = workBook.WorkSheets.First()

' Create freeze pane from column(A-B) and row(1-3)
workSheet.CreateFreezePane(2, 3)

workBook.SaveAs("createFreezePanes.xlsx")
$vbLabelText   $csharpLabel

演示

冻结窗格操作

取消冻结窗格

使用RemovePane方法可以快速移除电子表格中所有现有的冻结窗格。

:path=/static-assets/excel/content-code-examples/how-to/add-freeze-panes-remove.cs
// Remove all existing freeze or split pane
workSheet.RemovePane();
' Remove all existing freeze or split pane
workSheet.RemovePane()
$vbLabelText   $csharpLabel

高级冻结窗格示例

CreateFreezePane方法提供了一种高级选项,用于创建具有预滚动功能的冻结窗格。

CreateFreezePane(int column, int row, int subsequentColumn, int subsequentRow)

此方法允许您根据指定的列和行添加冻结窗格,如示例部分所示。 此外,它允许您对工作表应用滚动。

例如,通过使用workSheet.CreateFreezePane(5, 2, 6, 7),您可以创建一个冻结窗格,覆盖列 A-E行 1-2。 它包括一个1列和5行的滚动。 当工作表首次打开时,它将显示列 A-E, G-...行 1-2, 8-...

[{i:(只能应用一个冻结窗格设置。 任何额外创建的冻结窗格都将覆盖之前的窗格。

冻结窗格不适用于Microsoft Excel 97-2003版本(.xls)。

:path=/static-assets/excel/content-code-examples/how-to/add-freeze-panes-advance.cs
using IronXL;
using System.Linq;

WorkBook workBook = WorkBook.Load("sample.xlsx");
WorkSheet workSheet = workBook.WorkSheets.First();

// Overwriting freeze or split pane to column(A-E) and row(1-5) as well as applying prescroll
// The column will show E,G,... and the row will show 5,8,...
workSheet.CreateFreezePane(5, 5, 6, 7);

workBook.SaveAs("createFreezePanes.xlsx");
Imports IronXL
Imports System.Linq

Private workBook As WorkBook = WorkBook.Load("sample.xlsx")
Private workSheet As WorkSheet = workBook.WorkSheets.First()

' Overwriting freeze or split pane to column(A-E) and row(1-5) as well as applying prescroll
' The column will show E,G,... and the row will show 5,8,...
workSheet.CreateFreezePane(5, 5, 6, 7)

workBook.SaveAs("createFreezePanes.xlsx")
$vbLabelText   $csharpLabel

演示

高级冻结面板演示
Chaknith related to 演示
软件工程师
Chaknith 是开发者中的福尔摩斯。他第一次意识到自己可能在软件工程方面有前途,是在他出于乐趣做代码挑战的时候。他的重点是 IronXL 和 IronBarcode,但他为能帮助客户解决每一款产品的问题而感到自豪。Chaknith 利用他从直接与客户交谈中获得的知识,帮助进一步改进产品。他的轶事反馈不仅仅局限于 Jira 票据,还支持产品开发、文档编写和市场营销,从而提升客户的整体体验。当他不在办公室时,他可能会在学习机器学习、编程或徒步旅行。