• 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")

  • 相关阅读:
    Jmeter是用来做什么的?
    prim生成树
    Java File.createNewFile方法起什么作用呢?
    移动端/微信小程序/uni-app 性能优化随手总结
    LeetCode每日一题——两数之和
    项目实战——项目上线
    腾讯云视频点播
    嵌入式Linux裸机开发(四)IMX6U主频和时钟配置
    springboot社区人员管理系统的设计与实现毕业设计源码260839
    攻防世界misc2-1
  • 原文地址:https://blog.csdn.net/Marshaljun/article/details/133563799