在 Excel 中,调整行和列的大小非常容易,只要点击并拖动行的边缘,或列的头部。但如果你需要根据单元格的内容来设置行或列的大小,或者希望设置大量电子表格文件中的行列大小,编写Python
程序来做就要快得多。
行和列也可以完全隐藏起来。或者它们可以“冻结”,这样就总是显示在屏幕上,如果打印该电子表格,它们就出现在每一页上(这很适合做表头)。
设置行高和列宽
Worksheet 对象有 row_dimensions 和column_dimensions 属性,控制行高和列宽。在交互式环境中输入以下代码:
>>> import openpyxl
>>> wb = openpyxl.Workbook()
>>> sheet = wb.get_active_sheet()
>>> sheet['A1'] = 'Tall row'
>>> sheet['B2'] = 'Wide column'
>>> sheet.row_dimensions[1].height = 70
>>> sheet.column_dimensions['B'].width = 20
>>> wb.save('dimensions.xlsx')
工作表的 row_dimensions 和 column_dimensions 是像字典一样的值,row_ dimensions 包含 RowDimension
对象,column_dimensions 包含 ColumnDimension 对象。在row_dimensions 中,可以用行的编号来访问一个对象(在这个例子中,是 1 或)。在
column_dimensions 中,可以用列的字母来访问一个对象(在这个例子中,是 A 或B)。
dimensions.xlsx 电子表格如图 12-6 所示。
一旦有了RowDimension 对象,就可以设置它的高度。一旦有了ColumnDimension 对象,就可以设置它的宽度。行的高度可以设置为 0 到 409
之间的整数或浮点值。这个值表示高度的点数。一点等于 1/72 英寸。默认的行高是 12.75。列宽可以设置为 0到 255 之间的整数或浮点数。这个值表示使用默认字体大小时(11
点),单元格可以显示的字符数。默认的列宽是 8.43 个字符。列宽为零或行高为零,将使单元格隐藏。