- Python XlsxWriter 教程
- Python XlsxWriter - 首页
- Python XlsxWriter - 概述
- Python XlsxWriter - 环境设置
- Python XlsxWriter - Hello World
- Python XlsxWriter - 重要类
- Python XlsxWriter - 单元格表示法和范围
- Python XlsxWriter - 定义名称
- Python XlsxWriter - 公式和函数
- Python XlsxWriter - 日期和时间
- Python XlsxWriter - 表格
- Python XlsxWriter - 应用筛选器
- Python XlsxWriter - 字体和颜色
- Python XlsxWriter - 数字格式
- Python XlsxWriter - 边框
- Python XlsxWriter - 超链接
- Python XlsxWriter - 条件格式化
- Python XlsxWriter - 添加图表
- Python XlsxWriter - 图表格式化
- Python XlsxWriter - 图表图例
- Python XlsxWriter - 条形图
- Python XlsxWriter - 折线图
- Python XlsxWriter - 饼图
- Python XlsxWriter - Sparklines(迷你图)
- Python XlsxWriter - 数据验证
- Python XlsxWriter - 大纲和分组
- Python XlsxWriter - 冻结和拆分窗格
- Python XlsxWriter - 隐藏/保护工作表
- Python XlsxWriter - 文本框
- Python XlsxWriter - 插入图片
- Python XlsxWriter - 页面设置
- Python XlsxWriter - 页眉和页脚
- Python XlsxWriter - 单元格批注
- Python XlsxWriter - 使用 Pandas
- Python XlsxWriter - VBA 宏
- Python XlsxWriter 有用资源
- Python XlsxWriter - 快速指南
- Python XlsxWriter - 有用资源
- Python XlsxWriter - 讨论
Python XlsxWriter - 冻结和拆分窗格
freeze_panes() 方法
XlsxWriter 库中 Worksheet 对象的freeze_panes() 方法将工作表划分为水平或垂直区域,称为窗格,并“冻结”其中一个或两个窗格,以便当我们向下滚动或向右滚动时,窗格(分别为顶部或左侧)保持静止。
该方法需要参数row 和col 来指定拆分的位置。需要注意的是,拆分是在单元格的顶部或左侧指定的,并且该方法使用基于零的索引。如果不想进行垂直或水平拆分,可以将其中一个 row 和 col 参数设置为零。
示例
以下示例中的工作表在每一行中显示列号的递增倍数,以便每个单元格显示行号和列号的乘积。
import xlsxwriter
wb = xlsxwriter.Workbook('hello.xlsx')
worksheet = wb.add_worksheet()
format1=wb.add_format({'bg_color':'#D9D9D9', 'bold':True})
for col in range(0, 15):
worksheet.write(0, col, col+1, format1)
for row in range(1, 51):
for col in range(0,15):
if col==0:
worksheet.write(row,col,(col+1)*(row + 1), format1)
else:
worksheet.write(row,col,(col+1)*(row + 1))
# Freeze pane on the top row.
worksheet.freeze_panes(1, 0)
wb.close()
输出
然后,我们冻结顶行窗格。因此,打开工作表后,如果单元格指针向下滚动,顶行始终保留在工作表上。
类似地,我们可以使第一列保持静止。
# Freeze pane on the first column. worksheet.freeze_panes(0, 1)
以下屏幕截图显示列 A即使我们向右滚动也始终可见。
通过将 freeze_panes() 方法中的 row 和 column 参数设置为 1,顶部行和最左侧列都将冻结。
# Freeze pane on the first row, first column. worksheet.freeze_panes(1, 1)
打开生成的工作表并四处滚动单元格光标。您会发现,已格式化为粗体并带有背景色的顶行和最左侧列中的行号和列号始终可见。
split_panes() 方法
split_panes() 方法也将其工作表划分为水平或垂直区域,称为窗格,但与freeze_panes() 方法不同的是,窗格之间的拆分将对用户可见,并且每个窗格将具有自己的滚动条。
该方法具有参数“y”和“x”,用于指定拆分的垂直和水平位置。这些参数以 Excel 使用的行高和列宽表示。行高和列宽的默认值为行 15 和列 8.43。
如果不想进行垂直或水平拆分,可以将其中一个“y”和“x”参数设置为零。
要在第 10 行和第 7 列创建拆分,请如下使用split_panes() 方法:
worksheet.split_panes(15*10, 8.43*7)
您将在工作表的第 10 行和第 7 列找到分隔线。您可以将窗格滚动到垂直分隔线的左侧和右侧,以及水平分隔线的顶部和底部。请注意,其他窗格将保持不变。
示例
以下是创建分隔线的完整代码,以及输出:
import xlsxwriter
wb = xlsxwriter.Workbook('hello.xlsx')
worksheet = wb.add_worksheet()
format1=wb.add_format({'bg_color':'#D9D9D9', 'bold':True})
for col in range(0, 15):
worksheet.write(0, col, col+1, format1)
for row in range(1, 51):
for col in range(0,15):
if col==0:
worksheet.write(row,col,(col+1)*(row + 1), format1)
else:
worksheet.write(row,col,(col+1)*(row + 1))
worksheet.split_panes(15*10, 8.43*7)
wb.close()
输出
运行代码并使用 Excel 打开hello.xlsx。我们可以看到,工作表在第 10 行和第 7 列被拆分为不同的窗格。