openpyxl 的 Worksheet 对象拥有 row_dimensions 和 column_dimensions 属性,可分别用于控制行高和列宽。
import openpyxl wb=openpyxl.Workbook() sheet=wb.active # 设置行高 sheet['A1']='行高被设置为 100' sheet.row_dimensions[1].height=100 # 设置列宽 sheet['B2']='列宽被设置为 50' sheet.column_dimensions['B'].width=50 wb.save('dimensions.xlsx')
运行结果:
row_dimensions 可以通过 Excel 行编号(1,2……)来获取行对象,这样我们就可以设置其行高。
同理,column_dimensions 可以通过 Excel 列编号(A,B……)来获取列对象,得到列对象之后,我们就可以设置其列宽啦。
Excel 默认行高为 13.5;默认列宽为 8.38。
发现了一个有趣的现象,即在代码层面,把行高与列宽强行设置为 0,实际上却并不为 0。
# 设置行高为 0 sheet['A3'] = '行高被设置为 0,实际为 15' sheet.row_dimensions[3].height = 0 # 设置列宽为 0 sheet['D3'] = '列宽被设置为 0,实际为 8.38' sheet.column_dimensions['D'].width = 0
运行结果:
也就是说,列宽最小值为 8.38;而行高最小值为 15。
今天的内容简单而且有趣,学会了的小伙伴可以尝试着改变行高和列宽啦~更多Python实用知识,点击进入PyThon学习网教学中心。