I need help with python XlsxWriter. I need to add link styling for external file link columns. But Xlsxwriter doesn't recognize styling for links(its second column) (text: underline, text-color: blue) if I'm adding the text wrapping for another columns(in this example first column).
Here is my example:
# _*_ 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()
So I need to tell the XlsxWriter that he can recognize and text wrapping and styling for links.
Microsoft office: 2007.
xlsxwriter latest version.
Thx.
Links in Excel have cell formatting (generally blue text and an underline) like any other formatted text.
If no other formatting is specified for links in XlsxWriter the module adds a default (blue underline) format, like Excel does when you enter a url. This is explained in the write_url()
docs.
However, if the user specifies a format for a cell with a link (like the text_wrap format in your example) then it overrides the default format.
So if you want blue underline plus text wrap format for urls you will have to specify it directly:
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()
Output: