【问题标题】:How can I align text in a cell to the top with openpyxl?如何使用 openpyxl 将单元格中的文本与顶部对齐?
【发布时间】:2014-05-24 01:58:25
【问题描述】:

当使用 openpyxl 从 python 写入文件时,我希望 Excel 单元格中的文本与顶部对齐,而不是与底部对齐

【问题讨论】:

  • 你的尝试在哪里?请在此处添加您的代码。

标签: python excel alignment cell openpyxl


【解决方案1】:

试试这个:

sheet["A1"].alignment.vertical = "top"

【讨论】:

  • 记住样式对象是不可变的,不能改变。使用副本重新分配样式
【解决方案2】:

这对我有用。我正在使用 openpyxl v2.5.8。

new_cell.alignment=Alignment(horizontal='general',
                     vertical='top',
                     text_rotation=0,
                     wrap_text=False,
                     shrink_to_fit=False,
                     indent=0)

欲了解更多信息:https://openpyxl.readthedocs.io/en/stable/styles.html?highlight=cell%20alignment

【讨论】:

    【解决方案3】:

    您将单元格style.alignment.vertical 设置为所需的值。例如,要使单元格A1 垂直向上对齐:

    # ws is worksheet
    myCell = ws.cell('A1')
    myCell.style.alignment.vertical = Alignment.VERTICAL_TOP
    

    在课程参考页面here 上查找更多详细信息。

    【讨论】:

    • 这句话似乎对我不起作用,我不知道为什么,但上面的答案确实有效。感谢您的回复
    • 没问题。也许您忽略了说 ws 是工作表的评论。但重要的是你让它发挥作用。
    • currentCell 也是 None
    【解决方案4】:

    使用两个循环将对齐格式应用于每个单元格。

    al = Alignment(horizontal="left", vertical="top")
    for row in sheet['A1':'A2']:
        for cell in row:
            cell.alignment = al
    

    这个想法来自https://groups.google.com/forum/#!topic/openpyxl-users/GDrfknwrYEM

    【讨论】:

    • 您好,此答案在低质量审核队列中。仅代码的答案可能会解决问题,但如果您解释它们为什么是正确的,它们会更有用。社区受益于理论和代码,可以完全理解您的答案。
    猜你喜欢
    • 2021-05-16
    • 2012-03-31
    • 1970-01-01
    • 1970-01-01
    • 2018-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多