在excel中设置行高或者列宽的基本操作大家都会,但是使用openpyxl就被难住了。今天小编就为大家讲解如何使用 openpyxl为 Excel设置行高或者列宽。
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’)
</pre> 运行结果: <img loading="lazy" class="aligncenter size-full wp-image-11254" src="https://www.python51.com/wp-content/uploads/2021/04/1603788891772279.png" width="526" height="258" srcset="https://www.python51.com/wp-content/uploads/2021/04/1603788891772279.png 526w, https://www.python51.com/wp-content/uploads/2021/04/1603788891772279-240x118.png 240w, https://www.python51.com/wp-content/uploads/2021/04/1603788891772279-400x196.png 400w" sizes="(max-width: 526px) 100vw, 526px" /> <ul style="list-style-type: disc;"> <li>row_dimensions 可以通过 Excel 行编号(1,2……)来获取行对象,这样我们就可以设置其行高。</li> <li>同理,column_dimensions 可以通过 Excel 列编号(A,B……)来获取列对象,得到列对象之后,我们就可以设置其列宽啦。</li> <li>Excel 默认行高为 13.5;默认列宽为 8.38。</li> </ul> 发现了一个有趣的现象,即在代码层面,把行高与列宽强行设置为 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 <pre class="brush:js;toolbar:false">
运行结果:
也就是说,列宽最小值为 8.38;而行高最小值为 15。
今天的内容简单而且有趣,学会了的小伙伴可以尝试着改变行高和列宽啦。
神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试