使用openpyxl实现合并单元格文本自动换行遇阻,求解决方案
解决合并单元格文本自动换行问题
你遇到的问题大概率是以下两个原因导致的:
文本未包含换行标记:
wrap_text=True仅对带有换行符(\n)的文本生效,或是在列宽不足以容纳整行文本时自动换行。如果希望文本在指定位置换行,需要在字符串中手动添加\n:worksheet.cell(row=1, column=6).value = 'text to be\nwrapped'行高未适配换行内容:合并单元格后,Excel 默认不会自动调整行高来适配换行后的文本。你需要手动设置行高,或是开启自动行高:
# 自动调整行高(让Excel根据内容自动计算) worksheet.row_dimensions[1].height = None # 或者手动设置固定行高,比如40 worksheet.row_dimensions[1].height = 40
另外,确认代码中已正确导入 Alignment 类:
from openpyxl.styles import Alignment
将这些调整加入代码后,就能实现你想要的顶部表头换行效果了。
内容的提问来源于stack exchange,提问作者Hanna
相关产品推荐
相关产品推荐

