openpyxl - 更改n列的宽度

时间:2017-11-09 14:44:18

标签: python openpyxl

我正在尝试更改n列的列宽。 我可以按照以下代码对行执行此操作。

rowheight = 2
while rowheight < 601:
    ws.row_dimensions[rowheight].height = 4
    rowheight += 1

我遇到的问题是列是字母而不是数字。

3 个答案:

答案 0 :(得分:2)

要获取列索引,您应该能够使用:

i = openpyxl.utils.column_index_from_string(?)

然后:

ws.column_dimensions[i].width = ?

答案 1 :(得分:2)

正如ryachza所指出的,答案是使用openpyxl实用程序,但是要使用的实用程序是get_column_letter而不是column_index_from_string,因为我想将数字转换为字母而不是反之亦然。

这是工作代码

from openpyxl.utils import get_column_letter

# Start changing width from column C onwards
column = 3
while column < 601:
    i = get_column_letter(column)
    ws.column_dimensions[i].width = 4
    column += 1

答案 2 :(得分:0)

是否可以使用切片来做到这一点?

col_range = ws['C:F']
for col in col_range:
    ws.column_dimendions.width = 15

我的代码没有任何错误,但是在工作簿上看不到列宽的变化。