设置单元格边框 | 如何给Excel表格加边框?自定义指令搭建
评论
收藏

设置单元格边框 | 如何给Excel表格加边框?自定义指令搭建

经验分享
Lynx.
2025-04-26 15:08·浏览量:993
Lynx.
影刀中级开发者
发布于 2025-04-26 15:08993浏览

在影刀RPA中,想要设置单元格边框需要在Excel表内指出,略显麻烦,所以开发了一个自定义指令,用于设置单元格边框

指令界面

效果如图:


需要注意的是,运行该指令前,需先关闭Excel表格

搭建流程

配置输入参数

新建python模块,记得导入openpyxl包

代码如下:

import xbot
from xbot import print, sleep
from .import package
from .package import variables as glv
from openpyxl import Workbook,load_workbook
from openpyxl.styles import Border,Side
# 1. 实线类
# thin              细实线(默认值),单像素宽度的实线边框。
# medium            中等宽度的实线边框,比thin更粗。
# thick             粗实线,比medium更粗。
# hair              极细的实线,比thin更细,可能在某些渲染中显示为虚线。
# 2. 虚线类
# dashed            普通短虚线,线段长度中等。
# mediumDashed      中等宽度的短虚线,线条比dashed更粗。
# dotted            点状虚线,由小圆点组成。
# 3. 混合虚线类
# dashDot           交替的短虚线和单点(-.-.-)。
# mediumDashDot     中等宽度的dashDot样式,线条更粗。
# dashDotDot        交替的短虚线和双点(-..-..)。
# mediumDashDotDot  中等宽度的dashDotDot样式。
# slantDashDot      斜向的短虚线和点组合,呈现倾斜效果(较少使用)。
# 4. 特殊样式
# double            双实线,由两条细实线组成,中间有空白。
def styles(args):
    # 1. 实线类
    if args == '极细实线':
        return 'hair'
    elif args == '细实线':
        return 'thin'
    elif args == '中等实线':
        return 'medium'
    elif args == '粗实线':
        return 'thick'
    # 2. 虚线类
    elif args == '普通短虚线':
        return 'dashed'
    elif args == '中等短虚线':
        return 'mediumDashed'
    elif args == '点状虚线':
        return 'dotted'
    # 3. 混合虚线类
    elif args == '交替短虚线':
        return 'dashDot'
    elif args == '中等交替短虚线':
        return 'mediumDashDot'
    elif args == '交替短虚线和双点':
        return 'dashDotDot'
    elif args == '中等交替短虚线和双点':
        return 'mediumDashDotDot'
    elif args == '斜向短虚线和点组合':
        return 'slantDashDot'
    # 4. 特殊样式
    elif args == '双实线':
        return 'double'
        
# 基础颜色
# 黑色        00000000    ⬛
# 红色        00FF0000    🔴
# 橙色        00FFA500    🟠
# 黄色        00FFFF00    🟡
# 黄绿色   009ACD32    🟢
# 绿色        0000FF00    🟢
# 青色        0000FFFF    💠
# 天蓝色   001E90FF    🔵
# 蓝色        000000FF    🔵
# 深蓝色   00000080    🌌
# 紫色        00800080    🟣
def colors(args):
    if args == '黑色':
        return '00000000'
    elif args == '深红色':
        return '00C00000'
    elif args == '红色':
        return '00FF0000'
    elif args == '橙色':
        return '00FFA500'
    elif args == '黄色':
        return '00FFFF00'
    elif args == '黄绿色':
        return '009ACD32'
    elif args == '绿色':
        return '0000FF00'
    elif args == '青色':
        return '0000FFFF'
    elif args == '天蓝色':
        return '001E90FF'
    elif args == '蓝色':
        return '000000FF'
    elif args == '深蓝色':
        return '00000080'
    elif args == '紫色':
        return '00800080'

def excel(files,sheet,style,color,inrow,derow,incol,decol,tops,bottoms,lefts,rights):
    wb = load_workbook(files)
    ws = wb.active
    if sheet != None:
        ws = wb[sheet]
    
    side = Side(style,color)
    if tops == True:
        top = side
    else:
        top = None
    if bottoms == True:
        bottom = side
    else:
        bottom = None
    if lefts == True:
        left = side
    else:
        left = None
    if rights == True:
        right = side
    else:
        right = None
    border = Border(top, bottom, left, right)
    if derow == -1:
        derow = ws.max_row
    if decol == -1:
        decol = ws.max_column
    for i in range(inrow,derow+1):
        for j in range(incol,decol+1):
            ws.cell(i,j).border = border
    wb.save(files)

主流程指令:

excel函数传参:

右键主流程,点击指令编辑

边框样式,边框颜色设置为下拉框,上下左右边框设置为复选框。


边框样式:

极细实线
细实线
中等实线
粗实线
普通短虚线
中等短虚线
点状虚线
交替短虚线
中等交替短虚线
交替短虚线和双点
中等交替短虚线和双点
斜向短虚线和点组合


边框颜色:

黑色
深红色
红色
橙色
黄色
黄绿色
绿色
青色
天蓝色
蓝色
深蓝色
紫色


保存发版,这样在搭建其他应用时就可以调用这个自定义指令啦


相关教程:

Python库 | openpyxl介绍,用代码操作Excel工作表

自定义指令教程视频





收藏8
全部评论1
最新
发布评论
评论