• 对比Excel学openpyxl系列之单元格选择与字体设置


    选择单元格

    # 单元格选择
    from openpyxl import Workbook
    wb=Workbook()#声明新建一个工作簿,默认创建一个sheet
    ws=wb.active#激活sheet
    
    #选择具体单元格
    ws['A2']=1#具体单元格
    ws.cell(row=1,column=2).value=2#通过row和colum形式指定
    
    #选择多个单元格
    ws[10]=3#第十行的单元格
    ws[C]=4#第C列的单元格
    
    ws[5:10]=5
    ws['C:E']=6
    wa['A1':'C5']=7
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    字体设置

    基本字体的相关设置

    设置excel字体,基本字体相关设置主要有字体类型、字号大小、是否加粗、是否斜体、对齐方式、下画线、删除线、字体颜色等。 需要用到Font()函数。

    excel实现方式:在这里插入图片描述
    python实现方式:
    在这里插入图片描述

    • name用来说明要设置的字体类型,可选的参数值为在Excel“字体”组中下拉列表的所有值。

    • size表示字体的大小,可选的值为具体数值。

    • bold表示是否加粗,当参数值为False时表示不加粗,为True时表示加粗。

    • italic表示是否斜体,当参数值为False时表示不对字体进行倾斜,为True时表示对字体进行倾斜。

    • vertAlign表示字体的垂直对齐方式,可选的值及对应的对齐在这里插入图片描述

    • underline表示下画线的类型,可选的值及对应的下画线类型如在这里插入图片描述

    • strike表示是否加删除线,当参数值为False时表示不加删除线,为True时表示加删除线。

    • color表示具体的字体颜色,可选值为ARGB格式的颜色值,一个颜色会有不同格式,网上会有不同格式之间相互转换的工具,

    如果要对某个单元格进行设置,则只需要让这个单元格的font属性等于Font()函数,并在Font()函数中指明具体的设置参数。格式如下。

    a1.font=Font()
    
    • 1

    一下就是对单元格字体的处理

    from openpyxl import Workbook
    from openpyxl.styles import colors
    from openpyxl.styles import Font
    wb=Workbook()
    ws=wb.active
    rows=[["字体"],["字体大小"],["是否加粗"],["是否斜体"],["垂直对齐"],["下划线"],["删除线"],["字体颜色"]]
    for row in rows:
        ws.append(row)
    a1=ws['A1']
    a1.font=Font(name='arial')
    a2=ws['A2']
    a2.font=Font(size=16)
    a3=ws['A3']
    a3.font=Font(bold=True)
    a4=ws['A4']
    a4.font=Font(italic=True)
    a5=ws['A5']
    a5.font=Font(vertAlign='superscript')
    a6=ws['A6']
    a6.font=Font(underline='doubleAccounting')
    a7=ws['A7']
    a7.font=Font(strike=True)
    
    a8=ws['A8']
    a8.font=Font(color='FFEE0000')
    
    wb.save(r'C:\Users\mac\Desktop\test4.xlsx')#保存工作簿
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

    在这里插入图片描述

    单元格填充

    单元格填充主要分为两种,一种是背景色的填充,就是单纯的颜色填充,另一种是图案的填充,就是以某种图案对单元格进行填充。
    excel操作如下:在这里插入图片描述
    在Python中,要对单元格进行填充时,需要用到PatternFill()函数,该函数的具体参数如下
    在这里插入图片描述

    • start_color表示前景色填充,也就是具体的图案的颜色。
    • end_color表示背景颜色,因为图案是覆盖在单元格上方的,所以在图案的底层还会有一个颜色,就是背景色。这个颜色值也需要是ARGB格式的。
    from openpyxl import Workbook
    from openpyxl.styles import colors
    from openpyxl.styles import PatternFill
    wb=Workbook()#声明新建一个工作簿,默认创建一个sheet
    ws=wb.active#激活sheet
    ws['A1']='我是纯色填充'#给单元格a1赋值1
    a1=ws['A1']
    a1.fill=PatternFill(fill_type='solid',start_color='FFFFFF00')
    wb.save(r'C:\Users\mac\Desktop\test5.xlsx')
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    在这里插入图片描述

    边框设置

    边框线设置就是设置单元格边框,主要包括线型及颜色两个方面。
    在Python中要对单元格进行边框线设置,需要用到Border()函数,该函数的具体参数如下。
    在这里插入图片描述

    • left、right、top、bottom分别表示对一个单元格左、右、上、下四边的边框线进行设置,diagonal表示对单元格的对角线进行设置。
    • border_style表示线型,可选的参数值及对应的线型
      在这里插入图片描述
    • color表示线的颜色,可选参数值也需要是ARGB格式的。
    from openpyxl import Workbook
    from openpyxl.styles import colors
    from openpyxl.styles import Border,Side
    wb=Workbook()
    ws=wb.active
    ws['B3']='边框'#给单元格a1赋值1
    a1=ws['B3']
    a1.border=Border(left=Side(border_style='hair',color='FFFFFF00'),
                    right=Side(border_style='thick',color='FFFFFF00'),
                    top=Side(border_style='dotted',color='FFFFFF00'),
                    bottom=Side(border_style='medium',color='FFFFFF00'))
    wb.save(r'C:\Users\mac\Desktop\test6.xlsx')
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    在这里插入图片描述

    在这里插入图片描述
    除此之外还有设置对角线参数:diagonal
    用法如下

    from openpyxl import Workbook
    from openpyxl.styles import colors
    from openpyxl.styles import Border,Side
    wb=Workbook()
    ws=wb.active
    ws['B3']='边框'#给单元格a1赋值1
    a1=ws['B3']
    a1.border=Border(left=Side(border_style='hair',color='FFFFFF00'),
                    right=Side(border_style='thick',color='FFFFFF00'),
                    top=Side(border_style='dotted',color='FFFFFF00'),
                    bottom=Side(border_style='medium',color='FFFFFF00'),
                    diagonal=Side(border_style='thick',color='FFFFFF00'),
                    diagonalDown=True)
    
    ws['E3']='斜杠'#给单元格a1赋值1
    a2=ws['E3']
    a2.border=Border(left=Side(border_style='hair',color='FFFFFF00'),
                    right=Side(border_style='thick',color='FFFFFF00'),
                    diagonal=Side(border_style='thick',color='FFFFFF00'),
                    diagonalUp=True,
                     diagonalDown=True)
    
    
    wb.save(r'C:\Users\mac\Desktop\test6.xlsx')
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24

    在这里插入图片描述

    批量设置单元格

    #遍历每一列
    for col in wa['A':'C']:
        for i in col:
            r.font=Font()
            r.fill=PatternFill()
            r.border=Border()
    
    
    #遍历每一行
    for col in wa[1:7]:
        for i in col:
            r.font=Font()
            r.fill=PatternFill()
            r.border=Border()
    
    
    #指定区域的每一行
    for col in wa["A1":"D5"]:
        for i in col:
            r.font=Font()
            r.fill=PatternFill()
            r.border=Border()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
  • 相关阅读:
    【无标题】关于市面上的几款FOC驱动芯片讲解
    视频怎么添加水印?快来收好这些方法
    分析师:百度到2030年可能成为中国市值最高的公司
    spark插入动态分区代码报错
    如何用 GPT-4 全模式(All Tools)帮你高效学习和工作?
    毕业设计微信小程序题目
    【图解IO与Netty系列】Reactor模型
    电脑硬盘数据恢复一般需要收费多少钱
    企业应用架构研究系列二十八:身份认证 Beginning Out With IdentityServer4
    35-gin框架集成zap日志库
  • 原文地址:https://blog.csdn.net/weixin_41867184/article/details/125543891