【问题标题】:Python - Excel - Modify Specific Row Height with OpenpyxlPython - Excel - 使用 Openpyxl 修改特定的行高
【发布时间】:2022-01-24 09:20:35
【问题描述】:

我需要使用 openpyxl 格式化 Excel 工作簿中 2 ​​行的高度。工作簿中只有一张工作表。我设法想出一些东西来格式化列的宽度,但我似乎无法弄清楚如何做行高。

我需要将第 1 行的高度设置为 130,将第 2 行的高度设置为 25 - 所有其他都保持默认值 15。这是我用于格式化列宽的代码:

newFile = "MyWorkbook.xlsx"
wb = openpyxl.load_workbook(filename = newFile)        
worksheet = wb.active
for column in ascii_uppercase:
    if (column=="A"):
        worksheet.column_dimensions[column].width = 37
    elif (column=="B"):
        worksheet.column_dimensions[column].width = 37
    elif (column=="C"):
        worksheet.column_dimensions[column].width = 37
    elif (column=="D"):
        worksheet.column_dimensions[column].width = 130
    else:
        worksheet.column_dimensions[column].width = 15
   
wb.save(newFile)

我尝试将其翻译为适用于行高,但它似乎不起作用 - 任何帮助将不胜感激。

for row in ascii_uppercase:
    if (row=="1"):
        worksheet.row_dimensions[row].height = 130
    elif (row-=="2"):
        worksheet.row_dimensions[row].height = 25
    else:
        worksheet.row_dimensions[row].height = 15

【问题讨论】:

  • 行键应该是整数,而不是字符串。

标签: python excel row height openpyxl


【解决方案1】:

您正在循环访问 ascii_uppercase 却没有找到案例?

更新

height 属性需要与行号对应的整数值。你可以试试这样:

for row in range(worksheet.max_row):
    if (row == 1):
        worksheet.row_dimensions[row].height = 130
    elif (row == 2):
        worksheet.row_dimensions[row].height = 25
    else:
        worksheet.row_dimensions[row].height = 15

【讨论】:

  • 我应该放什么?
  • 我已经用一些建议更新了答案。
  • 非常感谢,这行得通!我会研究并应用它。再次感谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-04
  • 1970-01-01
  • 1970-01-01
  • 2020-11-18
  • 1970-01-01
  • 2018-11-28
相关资源
最近更新 更多