在 Excel 中要修改行高和列宽,只需要通过鼠标的拖拽操作就可以实现。
使用 openpyxl,同样可以通过修改工作表的row_dimensions和column_dimensions来实现同样的操作。
在row_dimentions中,使用具体的数字来表示将要修改第几行的高度,比如row_dimentions[2].height = 100是将第 1 行的高度修改为 100;
在column_dimentions中,则要使用字母来表示对应的列号,比如column_dimentions['C'].width = 50,是将第 C 列的宽度修改为 50。
注意,这个高度和宽度的单位是不一样的,所以你会发现这 “100” 的尺度竟然比 “50” 还大:

因为数据比较多,所以当我们查看中间某个数据的时候,就很难直观的看出这是个啥?

-
个性化工作表标签栏
-
调整行高和列宽
-
合并和拆分单元格
-
冻结窗口
开发思路
有时候我们可能需要区分不同的工作表,那么可以通过修改标签栏的颜色来实现:
>>> import openpyxl
>>> # 创建工作簿
>>> wb = openpyxl.Workbook()
>>> # 创建工作表
>>> ws1 = wb.create_sheet(title = "zy1")
>>> ws2 = wb.create_sheet(title = "zy2")
>>> ws3 = wb.create_sheet(title = "zy3")
>>> # 个性化工作表
>>> ws1.sheet_properties.tabColor = "FF0000"
>>> ws2.sheet_properties.tabColor = "00FF00"
>>> ws3.sheet_properties.tabColor = "0000FF"
>>> # 保存
>>> wb.save(r"C:\Users\Administrator\Demo.xlsx")
程序实现效果如下:
>>> import openpyxl
>>> # 创建工作簿
>>> wb = openpyxl.Workbook()
>>> # 创建工作表
>>> ws1 = wb.create_sheet(title = "zy1")
>>> ws2 = wb.create_sheet(title = "zy2")
>>> ws3 = wb.create_sheet(title = "zy3")
>>> # 个性化工作表
>>> ws1.sheet_properties.tabColor = "FF0000"
>>> ws2.sheet_properties.tabColor = "00FF00"
>>> ws3.sheet_properties.tabColor = "0000FF"
>>> # 保存
>>> wb.save(r"C:\Users\Administrator\Demo.xlsx")

思路二:调整行高和列宽
在 Excel 中要修改行高和列宽,只需要通过鼠标的拖拽操作就可以实现。
使用 openpyxl,同样可以通过修改工作表的row_dimensions和column_dimensions来实现同样的操作。
在row_dimentions中,使用具体的数字来表示将要修改第几行的高度,比如row_dimentions[2].height = 100是将第 1 行的高度修改为 100;
在column_dimentions中,则要使用字母来表示对应的列号,比如column_dimentions['C'].width = 50,是将第 C 列的宽度修改为 50。
注意,这个高度和宽度的单位是不一样的,所以你会发现这 “100” 的尺度竟然比 “50” 还大:

思路三:合并和拆分单元格
利用工作表的merge_cells()和unmerge_cells()可以快速地合并和拆分指定区域的单元格。
# 合并单元格
>>> ws2.merge_cells("A1:C3")
>>> # 给合并后的单元格赋值
>>> ws2['A1']='I love China!'
>>> wb.save(r"C:\Users\Administrator\Demo.xlsx")
合并后效果如下:
>>> # 拆分单元格
>>> ws1.unmerge_cells('A1:C2')
>>> wb.save(r"C:\Users\Administrator\Demo.xlsx")
注意:当初是怎么合并的,就应该怎么拆分,也就是说拆分的范围必须跟当初的合并保持一致。
思路四:冻结窗口
有时候我们的工作表非常庞大,比如我们拿到一个全国人口普查数据的 Excel 表格 (附件)
因为数据比较多,所以当我们查看中间某个数据的时候,就很难直观的看出这是个啥?

这时候,冻结窗口的功能就显得非常的牛逼
利用工作表的merge_cells()和unmerge_cells()可以快速地合并和拆分指定区域的单元格。
# 合并单元格
>>> ws2.merge_cells("A1:C3")
>>> # 给合并后的单元格赋值
>>> ws2['A1']='I love China!'
>>> wb.save(r"C:\Users\Administrator\Demo.xlsx")
合并后效果如下:
# 合并单元格
>>> ws2.merge_cells("A1:C3")
>>> # 给合并后的单元格赋值
>>> ws2['A1']='I love China!'
>>> wb.save(r"C:\Users\Administrator\Demo.xlsx")
[培训]科锐逆向工程师培训第53期2025年7月8日开班!