Python中Row和Column Dimensions设置:行高语句校验及列宽循环实现咨询
代码正确性确认
你提供的第一段设置行高的代码语法逻辑完全正确,只要你提前定义好了row变量为需要设置行高的最大行号即可正常运行。
这里range(6, row + 1, +1)里的步长+1可以简化写为1,不影响最终执行效果,逻辑就是遍历第6行到第row行的所有行,统一设置行高为15.75,符合openpyxl操作行维度的标准写法。
批量设置列宽的实现
完全可以用类似的循环逻辑批量设置列宽,这里给两种常用的实现方案:
方案1:通过ASCII码转换设置指定字母范围的列宽
如果要设置的列是连续的字母段(比如A到D),可以直接通过ASCII码转换生成列字母标识:
# 给A到D列统一设置列宽为20 for col_ascii in range(65, 69): # ASCII码65对应A,68对应D,range左闭右开因此终止值设为69 col_letter = chr(col_ascii) sheet.column_dimensions[col_letter].width = 20
方案2:通过列号转换函数适配任意列数的批量设置
如果需要按数字列号设置(比如前10列、第3到第8列),可以用openpyxl自带的列号转字母工具函数,兼容性更强:
from openpyxl.utils import get_column_letter # 示例:给前4列统一设置列宽为20 for col_idx in range(1, 5): col_letter = get_column_letter(col_idx) sheet.column_dimensions[col_letter].width = 20
内容的提问来源于stack exchange,提问作者Martin
相关产品推荐
相关产品推荐

