我需要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。
答案 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()
输出: