- 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 - 图表格式
- 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 - 使用 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() 方法中的行和列参数设置为 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 列被分成不同的窗格。