欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > Python设置Excel单元格中的部分文本颜色

Python设置Excel单元格中的部分文本颜色

2024/10/24 22:27:11 来源:https://blog.csdn.net/Duke147/article/details/140798431  浏览:    关键词:Python设置Excel单元格中的部分文本颜色

文章目录

      • 一、概述
      • 二、效果
      • 三、示例

一、概述

openpyxl (目前)不支持设置单元格内部分字体颜色
xlsxwriter 支持设置单元格内部分字体颜色(创建新的Excel)

二、效果

在这里插入图片描述

三、示例

"""
Python设置Excel单元格中的部分文本颜色openpyxl 不支持设置单元格内部分字体颜色
xlsxwriter 支持设置单元格内部分字体颜色(创建新的Excel)pip install xlsxwriter -i https://pypi.tuna.tsinghua.edu.cn/simple
"""import xlsxwriterdef highlight_phrase_in_cell(workbook, worksheet, row_idx, col_idx, phrases_to_highlight, cell_value):"""使用 xlsxwriter 将单元格内的特定短语标红。:param workbook: Workbook 对象:param worksheet: Worksheet 对象:param row_idx: 行索引:param col_idx: 列索引:param phrases_to_highlight: 需要高亮的短语列表:param cell_value: 单元格的内容:return: None"""if not cell_value:return# 初始化 rich_string 列表rich_string = []start = 0# 按照位置顺序高亮短语while start < len(cell_value):# 找到最早出现的短语及其位置next_phrase = Nonenext_idx = len(cell_value)for phrase in phrases_to_highlight:idx = cell_value.find(phrase, start)if idx != -1 and idx < next_idx:next_phrase = phrasenext_idx = idxif next_phrase is None:break# 添加之前的普通文本if start < next_idx:rich_string.append(cell_value[start:next_idx])# 添加高亮文本rich_string.append(workbook.add_format({'font_color': 'red'}))rich_string.append(next_phrase)start = next_idx + len(next_phrase)# 添加剩余的普通文本if start < len(cell_value):rich_string.append(cell_value[start:])# 写入 rich_string 到单元格worksheet.write_rich_string(row_idx, col_idx, *rich_string)if __name__ == '__main__':workbook = xlsxwriter.Workbook('example.xlsx')worksheet = workbook.add_worksheet()cell_value = '一泰方合作伙伴表示,中泰两国关系源远流长,在经贸关系、人文交流领域关系密切。'phrases = ['源远流长', '人文交流']highlight_phrase_in_cell(workbook, worksheet, 0, 0, phrases, cell_value)workbook.close()

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com