python XlsxWriter文本包装和链接样式

时间:2016-03-02 11:07:02

标签: python xlsxwriter

我需要python XlsxWriter的帮助。我需要为外部文件链接列添加链接样式。但是,如果我为其他列添加文本包装(在本例中为第一列),Xlsxwriter不会识别链接的样式(第二列)(文本:下划线,文本颜色:蓝色)。

以下是我的例子:

# _*_ 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他可以识别链接和文本包装和样式。

Microsoft office:2007。

xlsxwriter最新版本。

THX。

1 个答案:

答案 0 :(得分:5)

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

如果没有为XlsxWriter中的链接指定其他格式,则模块会添加默认(蓝色下划线)格式,就像输入网址时Excel一样。这在write_url()文档中进行了解释。

但是,如果用户为带链接的单元格指定格式(如示例中的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://stackoverflow.com/',  link_format)

workbook.close()

输出:

enter image description here