使用xlwt在单元格中添加文本超链接

3 投票
1 回答
2659 浏览
提问于 2025-04-18 14:47

我想在Excel的一个单元格里,文本下面添加一个网址链接,这样用户就可以点击访问这个网站。我试过了,但没有成功。请帮帮我。

base = xlwt.Workbook()
for k,v in MainDict.items():
    base.add_sheet(k)
    xlwt.add_palette_colour("custom_colour", 0x21)
    base.set_colour_RGB(0x21, 251, 228, 228)
    style = xlwt.easyxf('pattern: pattern solid, fore_colour custom_colour;font : bold on')
    style1 = xlwt.easyxf('font : underline single')
    index = MainDict.keys().index(k)
    ws = base.get_sheet(index)
    col=0
    for sk in MainDict[k].keys():
        ws.write(0,col,sk.upper(),style)
        col+=1
        row =1
        for mk in MainDict[k][sk].keys():
            for lk,lv in MainDict[k][sk][mk].items():
                for items in lv:
                    ws.write(row,col-1,(items + str(Formula('HYPERLINK("%s")'%mk))))
                    row+=1
base.save('project2.xls')

1 个回答

2

你需要把文本放进一个 Formula 里,使用 & 可以帮助你把它们连接起来。比如:

import xlwt

wb = xlwt.Workbook()
ws = wb.add_sheet('test')

ws.write(0, 0, xlwt.Formula('"test " & HYPERLINK("http://google.com")'))

wb.save('test.xls')

撰写回答