python XlsxWriter 文本换行和链接样式

python XlsxWriter text wrapping and links styling

我需要 python XlsxWriter 方面的帮助。我需要为外部文件 link 列添加 link 样式。但是 Xlsxwriter 无法识别 links(它的第二列)的样式(文本:下划线,文本颜色:蓝色),如果我要为另一列(在此示例中为第一列)添加文本换行。

这是我的例子:

# _*_ coding: utf-8
import xlsxwriter

wb = xlsxwriter.Workbook('/home/mtw/Downloads/my_export.xlsx')

format = wb.add_format()
format.set_text_wrap()

sheet = wb.add_worksheet(name='export_object1')
sheet.write_row('A1', [
    u'Its\na bum\nwrap',
    'external:resignation_letter.docx',
], format)
wb.close()

所以我需要告诉 XlsxWriter 他可以识别 links 的文本换行和样式。

微软办公软件:2007.

xlsxwriter 最新版本。

谢谢。

Excel 中的链接与任何其他格式化文本一样具有单元格格式(通常为蓝色文本和下划线)。

如果在 XlsxWriter 中没有为 link 指定其他格式,模块会添加默认(蓝色下划线)格式,就像 Excel 在您输入 url 时所做的那样。 write_url() 文档对此进行了解释。

但是,如果用户为带有 link 的单元格指定格式(如示例中的 text_wrap 格式),则它会覆盖默认格式。

因此,如果您想要 url 的蓝色下划线加文本换行格式,您必须直接指定它:

import xlsxwriter

workbook = xlsxwriter.Workbook('my_export.xlsx')
worksheet = workbook.add_worksheet(name='export_object1')

link_format = workbook.add_format({'color': 'blue', 
                                   'underline': True, 
                                   'text_wrap': True})

text_format = workbook.add_format({'text_wrap': True})

worksheet.write('A1', 'Its\na bum\nwrap',           text_format)
worksheet.write('B1', 'http://whosebug.com/',  link_format)

workbook.close()

输出: