设置窗格

  1. 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

冻结列

  1. 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

冻结列并设置活动单元格区域

  1. 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

创建拆分窗格

  1. 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 上的所有窗格:

  1. f.SetPanes("Sheet1", `{"freeze":false,"split":false}`)