2024-05-21 10:58:09 发布
网友
Python: 有没有办法只用xlwt模块将多行字符串写入excel单元格?(我看到了建议使用openpyxl模块的答案)
sheet.write()方法忽略转义序列。所以,就xlwt,有可能吗?提前谢谢。
sheet.write()
有几件事你可以试试:
\n
\r\n
如果不使用XFStyle,而是简单地这样做:
import xlwt style_head = xlwt.easyxf('alignment: wrap True') row = 1 cell = 1 book = xlwt.Workbook(encoding='utf-8') sheet = book.add_sheet() sheet.write(row, cell, 'cell value', style_head)
我在python-excel Google Group中找到了答案。将sheet.write()与可选的style参数一起使用,为单元格启用自动换行,就可以做到这一点。下面是一个最小的工作示例:
style
import xlwt book = xlwt.Workbook() sheet = book.add_sheet('Test') # A1: no style, no wrap, despite newline sheet.write(0, 0, 'Hello\nWorld') # B1: with style, there is wrap style = xlwt.XFStyle() style.alignment.wrap = 1 sheet.write(0, 1, 'Hello\nWorld', style) book.save('test.xls')
而在细胞A1中显示HelloWorld而无linebreak,细胞B1则显示Hello\nWorld(即有linebreak)。
HelloWorld
Hello\nWorld
有几件事你可以试试:
\n
(换行)字符是标准的Unix方法,也用于Python,但Windows需要回车和换行。因此,您可以尝试用\r\n
替换\n
。如果不使用XFStyle,而是简单地这样做:
我在python-excel Google Group中找到了答案。将
sheet.write()
与可选的style
参数一起使用,为单元格启用自动换行,就可以做到这一点。下面是一个最小的工作示例:而在细胞A1中显示
HelloWorld
而无linebreak,细胞B1则显示Hello\nWorld
(即有linebreak)。相关问题 更多 >
编程相关推荐