设置窗格
func (f *File) SetPanes(sheet, panes string)
通过给定的工作表名称和窗格样式参数设置冻结窗格或拆分窗格。
activePane
定义了活动窗格,下表为该属性的可选值:
枚举值 | 描述 |
---|---|
bottomLeft (Bottom Left Pane) | 当应用垂直和水平分割时,位于左下方的窗格。 此值也适用于仅应用了水平分割的情况,将窗格分为上下两个区域。在这种情况下,该值指定底部窗格。 |
bottomRight (Bottom Right Pane) | 当垂直和水平时,位于底部右侧的窗格。 |
topLeft (Top Left Pane) | 当应用垂直和水平分割时,位于左上方的窗格。 此值也适用于仅应用了水平分割的情况,将窗格分为上下两个区域。在这种情况下,该值指定顶部窗格。 此值也适用于仅应用垂直分割的情况,将窗格分割为右侧和左侧区域。在这种情况下,该值指定左侧窗格。 |
topRight (Top Right Pane) | 当应用垂直和水平分割时,位于右上方窗格。 此值也适用于仅应用垂直分割的情况,将窗格分割为右侧和左侧区域。在这种情况下,该值指定右侧窗格。 |
窗格状态类型仅限于下表中当前列出的受支持的值:
枚举值 | 描述 |
---|---|
frozen (Frozen) | 窗格被冻结,但并不分裂。在此状态下,当窗格被解除冻结然后再次解冻时,会生成单个窗格,而不会被分割。 在这种状态下,分割条不可调节。 |
split (Split) | 窗格被分裂,但并不冻结。在此状态下,用户可以调整分割条。 |
x_split
- 水平分割点的位置。如果窗格冻结,则此值用于设置顶部窗格中可见的列数。
y_split
- 垂直分割点的位置。如果窗格冻结,则此值用于设置左侧窗格中可见的行数。该属性的可能值由 W3C XML Schema double 数据类型定义。
top_left_cell
- 处于“从左到右”模式时,右下方窗格中左上角可见单元格的位置。
sqref
- 参考单元格坐标区域。可以是非连续的一组单元格坐标区域。
例1,在名为 Sheet1
的工作表上冻结列 A
并设置活动单元格 Sheet1!K16
:
f.SetPanes("Sheet1", `{
"freeze": true,
"split": false,
"x_split": 1,
"y_split": 0,
"top_left_cell": "B1",
"active_pane": "topRight",
"panes": [
{
"sqref": "K16",
"active_cell": "K16",
"pane": "topRight"
}]
}`)
例2,在名为 Sheet1
的工作表上冻结第 1 到第 9 行,并设置活动单元格区域 Sheet1!A11:XFD11
:
f.SetPanes("Sheet1", `{
"freeze": true,
"split": false,
"x_split": 0,
"y_split": 9,
"top_left_cell": "A34",
"active_pane": "bottomLeft",
"panes": [
{
"sqref": "A11:XFD11",
"active_cell": "A11",
"pane": "bottomLeft"
}]
}`)
例3,在名为 Sheet1
的工作表上创建拆分窗格,并设置活动单元格 Sheet1!J60
:
f.SetPanes("Sheet1", `{
"freeze": false,
"split": true,
"x_split": 3270,
"y_split": 1800,
"top_left_cell": "N57",
"active_pane": "bottomLeft",
"panes": [
{
"sqref": "I36",
"active_cell": "I36"
},
{
"sqref": "G33",
"active_cell": "G33",
"pane": "topRight"
},
{
"sqref": "J60",
"active_cell": "J60",
"pane": "bottomLeft"
},
{
"sqref": "O60",
"active_cell": "O60",
"pane": "bottomRight"
}]
}`)
例4,解冻并删除名为 Sheet1
上的所有窗格:
f.SetPanes("Sheet1", `{"freeze":false,"split":false}`)