• Python 无废话-办公自动化Excel格式美化


    设置字体

    在使用openpyxl 处理excel 设置格式,需要导入Font类,设置Font初始化参数,常见参数如下:

    关键字参数

    数据类型

     描述

    name

    字符串

    字体名称,如'Calibri''Times New Roman'

    size

    整型

    大小点数

    bold

    布尔型

    True 表示粗体

    italic

    布尔型

    True 表示斜体

    color

    字符串

    "FF0000" 表示红色

    underline

    字符串

    可选值有 "none""single""double"

    import openpyxl

    from openpyxl.styles import Font

    workbook = openpyxl.load_workbook("data\input\Test.xlsx")

    worksheet = workbook.active

    #创建一个 Font 对象

    italicFont=Font(size=24,italic=True)

    #设置 A3 单元格的字体为所创建的字体对象

    worksheet["A3"].font=italicFont

    workbook.save("data\input\Test.xlsx")

    设置行高和列宽

     Worksheet 对象有row_dimensions column_dimensions 属性,分别用于设置行和列的尺寸

    row_dimensions:是一个字典,存储了所有行的尺寸信息key是行索引(从1开始),value是一个RowDimension对象,通过该对象可以设置行的高度、隐藏行等属性

    column_dimensions:也是一个字典,存储了所有列的尺寸信息。其key是列索引(从'A'开始),value是一个ColumnDimension对象,通过该对象可以设置列的宽度、隐藏列等属性。

    RowDimension对象属性包括

    height:行高度

    hidden:是否隐藏行

    outline_level:行的大纲级别

    collapsed:该行是否折叠

    ColumnDimension对象属性包括

    width:列宽度

    hidden:是否隐藏列

    bestFit:自动调整列宽以适应内容

    outline_level:列的大纲级别

    collapsed:该列是否折叠

    示例代码

    import openpyxl

    workbook = openpyxl.load_workbook("data\input\Test.xlsx")

    worksheet = workbook.active

    #设置第二行 行高50

    worksheet.row_dimensions[2].height=50

    #设置C列 列宽50

    worksheet.column_dimensions["C"].width=50

    workbook.save("data\input\Test.xlsx")

    设置合并与拆分单元格

    利用merge_cells()工作表方法,可以将一个矩形区域中的单元格合并为一个单元格

    利用unmerge_cells()工作表方法,可以将合并单元格进行拆分

    import openpyxl

    workbook = openpyxl.load_workbook("data\input\Test.xlsx")

    worksheet = workbook.active

    #设置合并单元格区域A20:B50

    worksheet.merge_cells("A20:B50")

    #拆分单元格区域A20:B50

    worksheet.unmerge_cells("A20:B50")

    #设置拆分后单元格的值

    worksheet["A20"].value="test"

    workbook.save("data\input\Test.xlsx")

  • 相关阅读:
    中国替代方案探索:替代谷歌企业邮箱的选择
    QT_day2
    行业追踪,2023-10-25
    阿里云ACP云计算健康检查
    2023最新版JavaSE教程——第3天:流程控制语句之顺序语句与分支语句
    JAVA毕业设计129—基于Java+Springboot+thymeleaf的物业管理系统(源代码+数据库)
    算法通关村第十二关——不简单的字符串转换问题
    Elasticsearch
    基于Java搬家预约系统设计实现(源码+lw+部署文档+讲解等)
    【无标题】微信小程序使用npm,(以vant为例)
  • 原文地址:https://blog.csdn.net/Marshaljun/article/details/133563799