繁体   English   中英

将部分彩色文本及其后面的超链接插入 excel 单元格

[英]insert partial colored text and a hyperlink behind it into a excel cell

如何添加以下超链接

<a href="http://www.bing.com">elon musk <em style="color : red;">starlink</em></a>

进入 excel 单元?

我想要的是: 在此处输入图像描述

我搜索了web,发现添加带有指向excel的链接的文本并不难,这里的问题是文本是部分着色的,那么如何在ZC1D81AF5835844B4E9D936910DED单元格中对文本进行部分着色?

这是一个使用 XlsxWriter 的示例,您在其中编写 url,然后使用包含多种格式的丰富字符串覆盖单元格文本:

import xlsxwriter

workbook = xlsxwriter.Workbook('rich_string_url.xlsx')
worksheet = workbook.add_worksheet()

# Adjust the column width for clarity
worksheet.set_column('A:A', 20)

# Add the required url.
worksheet.write_url('A1', 'http://www.bing.com')

# Add for formats for the rich string.
red = workbook.add_format({'color': 'red', 'underline': 1})
url_format = workbook.get_default_url_format()

# Overwrite the text for the url with a rich string.
worksheet.write_rich_string('A1',
                            'elon musk ',
                            red, 'starlink',
                            url_format)

workbook.close()

Output

在此处输入图像描述

请参阅write_url()write_rich_string()上的 XlsxWriter 文档。

openpyxl做不到。(部分着色)。通过测试, openpyxl似乎无法获得第二部分的颜色。

这是example.xlsx

在此处输入图像描述

如果您通过openpyxl阅读它,例如:

import openpyxl
from openpyxl.styles import Font, Color

wb = openpyxl.load_workbook('example.xlsx')
sheet = wb.active
print(sheet.cell(row=1, column=1).font.color)

结果:

<openpyxl.styles.colors.Color object>
Parameters:
rgb='FFFFFF00', indexed=None, auto=None, theme=None, tint=0.0, type='rgb'

字体中没有第二种颜色。


另外,我尝试将此单元格的style复制到一个新文件中,例如:

import openpyxl, copy
from openpyxl.styles import Font, Color


wb = openpyxl.load_workbook('example.xlsx')
sheet = wb.active
sheet.cell(row=1, column=2, value="elon musk starlink").font = copy.copy(sheet.cell(row=1, column=1).font)

wb.save('output.xlsx')

仍然错过了第二部分的颜色。 在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM