设置字体
在使用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")