Python对excel单元格着色

今天看了几篇关于Python对excel表格进行着色的文档,但是感觉都讲的不够清晰,顾写此篇供大家参考。

一、效果图

二、代码实现

2.1 导入相关模块

import openpyxl
from openpyxl.styles import Font  # 导入字体模块
from openpyxl.styles import PatternFill  # 导入填充模块
from openpyxl.styles import Border, Side  # 导入修改边框线及颜色模块
from openpyxl.styles import Alignment  # 导入居中方式模块
#颜色参数设置可参考在线调色板链接:https://color.d777.com/

2.2 加载已存在的excel表格

    wk = openpyxl.load_workbook(file_name)  # 加载已经存在的excel
    sheet1 = wk[title]   #打开excel中标签名称为title的表格

2.3 设置字体颜色和背景色

#设置单元格字体颜色和背景色
fille = PatternFill('solid', fgColor='f8c600')  # 设置填充颜色为橙色
font = Font(u'黑体', size=8, bold=True, italic=False, strike=False, color='000000')  # 设置字体样式
sheet1.cell(row=2, column=8, value="").fill = fille   # 填充单元格背景色
sheet1.cell(row=2, column=8, value="哈哈").font = font  # 填充单元格内容和字体样式

2.4 设置边框

#设置单元格边框属性
thin = Side(border_style='thick', color="FF0000")  # 边框颜色为红色
border = Border(left=thin, right=thin, top=thin, bottom=thin)  #设置边框属性为细线
for row in sheet1['A10:E12']:
    for cell in row: cell.border = border
# sheet1.cell(row=2, column=8).border = border  #单一单元格设置边框

2.5 设置居中方式

#设置单元格居中方式
align = Alignment(horizontal='center', vertical='center', wrapText=True)  #设置居中方式为水平、垂直居中
sheet1.cell(row=2, column=8).alignment = align

二、在线调色板

三、整体代码

import openpyxl
from openpyxl.styles import Font  # 导入字体模块
from openpyxl.styles import PatternFill  # 导入填充模块
from openpyxl.styles import Border, Side  # 导入修改边框线及颜色模块
from openpyxl.styles import Alignment  # 导入居中方式模块
#颜色参数设置可参考在线调色板链接:https://color.d777.com/

def Textcolor(file_name,title):
    wk = openpyxl.load_workbook(file_name)  # 加载已经存在的excel
    sheet1 = wk[title]   #打开excel中标签名称为title的表格

    #设置单元格字体颜色和背景色
    fille = PatternFill('solid', fgColor='f8c600')  # 设置填充颜色为橙色
    font = Font(u'黑体', size=8, bold=True, italic=False, strike=False, color='000000')  # 设置字体样式
    sheet1.cell(row=2, column=8, value="").fill = fille   # 填充单元格背景色
    sheet1.cell(row=2, column=8, value="哈哈").font = font  # 填充单元格内容和字体样式

    #设置单元格边框属性
    thin = Side(border_style='thick', color="FF0000")  # 边框颜色为红色
    border = Border(left=thin, right=thin, top=thin, bottom=thin)  #设置边框属性为细线
    for row in sheet1['A10:E12']:
        for cell in row: cell.border = border
    # sheet1.cell(row=2, column=8).border = border  #单一单元格设置边框

    #设置单元格居中方式
    align = Alignment(horizontal='center', vertical='center', wrapText=True)  #设置居中方式为水平、垂直居中
    sheet1.cell(row=2, column=8).alignment = align

    wk.save(file_name)  # 保存excel


if __name__ == '__main__':
    file_name, title = 'test.xlsx', 'Sheet1'
    Textcolor(file_name,title)

参考文档

  1. python 如何对excel中某一列某些值的单元格着色_python将特定列标黄_#Amark的博客-CSDN博客

  1. Python中利用openpyxl对Excel的各种相关详细操作(二十一种常用操作<代码+示例>) (taodudu.cc)

  1. 在线调色板、颜色代码、配色方案 (d777.com)

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
扎眼的阳光的头像扎眼的阳光普通用户
上一篇 2023年7月15日
下一篇 2023年7月15日

相关推荐