python openpyxl 设置字符串文本换行显示

  • Post author:
  • Post category:python


python中字符串换行符是’\n’,但设置单元格文本value后保存.xlsx,却发现excel中显示并没换行,这是因为少加了一个格式设置的命令Alignment,要设置一下单元格的对齐属性wrapText强制进行自动换行,这样就能显示换行了:

sheet.cell(1, 1).alignment =Alignment(对齐参数)

例如:Alignment(horizontal='center',vertical='center',wrapText=True)

horizontal水平位置        ‘center’居中

vertical垂直位置       ‘center’居中

wrapText自动换行    true 进行换行

# 参数可选项

horizontal = {‘fill’, ‘distributed’, ‘centerContinuous’, ‘right’,

‘justify’, ‘center’, ‘left’, ‘general’}

vertical = {‘distributed’, ‘justify’, ‘center’, ‘bottom’, ‘top’}

另外顺便提一下,在excel里进行单元格文本换行,可以用Alt + Enter断开文本换行,或者用excel的字符串公式

=“text1”&CHAR(10)&“text2”

实现文本换行输出, CHAR(10)就是excel中的换行符,用&把几个字符串连接起来。

当然,也可以在python中模拟excel公式实现单元格换行,例如:

sheet[A1].value = ‘=“text1”&CHAR(10)&“text2” ‘

用’  ‘把上面带=的公式整体当作一个嵌套字符串赋值,在excel中就等于输入了换行符。同样,不能忘了用Alignment(wrapText=True)参数,否则还是会显示没换行。



版权声明:本文为bigfishfish原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。