OpenPyXL教程:设置单元格的字体、格式,调整单元格的行高和列宽

文章目录

  • 一、使用 OpenPyXL 设置单元格字体
    • 1、用法讲解
    • 2、代码示例
  • 二、使用 OpenPyXL 设置单元格边框
    • 1、用法讲解
    • 2、代码示例
  • 三、使用 OpenPyXL 设置单元格行高和列宽
    • 1、用法讲解
    • 2、代码示例

一、使用 OpenPyXL 设置单元格字体

1、用法讲解

当使用openpyxl设置字体样式时,可以使用以下属性来调整字体的不同方面:

  • font.name: 字体名称
    • 用法:font.name = ‘Arial’
    • 描述:该属性用于设置字体的名称。可以指定系统中可用的字体名称,例如Arial、Times New Roman等。
  • font.size: 字体大小
    • 用法:font.size = 12
    • 描述:该属性用于设置字体的大小。可以指定一个整数值来表示字体大小,例如12表示字体大小为12磅。
  • font.bold: 是否粗体
    • 用法:font.bold = True
    • 描述:该属性用于设置字体是否为粗体。将其设置为True表示启用粗体样式,设置为False表示禁用粗体样式。
  • font.italic: 是否斜体
    • 用法:font.italic = True
    • 描述:该属性用于设置字体是否为斜体。将其设置为True表示启用斜体样式,设置为False表示禁用斜体样式。
  • font.underline: 下划线样式
    • 用法:font.underline = ‘single’
    • 描述:该属性用于设置字体的下划线样式。可以选择以下预定义的样式:‘single’(单下划线)、‘double’(双下划线)、‘singleAccounting’(单下划线会计式)、‘doubleAccounting’(双下划线会计样式)。
  • font.strike: 是否有删除线
    • 用法:font.strike = True
    • 描述:该属性用于设置字体是否有删除线。将其设置为True表示启用删除线样式,设置为False表示禁用删除线样式。
  • font.color: 字体颜色
    • 用法:font.color = ‘FF0000’
    • 描述:该属性用于设置字体的颜色。可以指定一个RGB值(六位十六进制数),例如’FF0000’表示红色,也可以使用预定义的颜色名称,例如’black’表示黑色。

通过调整这些属性的值,可以自定义单元格中文字的字体样式,包括字体名称、大小、粗体、斜体、下划线、删除线和颜色等。

2、代码示例

以下是使用openpyxl库在Excel中设置字体样式的代码示例:

from openpyxl import Workbook
from openpyxl.styles import Font

# 创建一个新的工作簿和工作表
workbook = Workbook()
sheet = workbook.active

# 创建一个字体对象并设置属性
font = Font(
    name='Arial',   # 字体名称
    size=12,        # 字体大小
    bold=True,      # 是否加粗
    italic=True,    # 是否斜体
    underline='single',  # 下划线类型:single、double、none等
    strike=True,    # 是否有删除线
    color='FF0000'  # 字体颜色,十六进制RGB值
)

# 在单元格A1中应用字体样式
sheet['A1'].font = font
sheet['A1'].value = 'Hello, World!'

# 保存工作簿
workbook.save('E:\\UserData\\Desktop\\font_example.xlsx')

在这个示例中,首先导入所需的库。然后创建一个新的工作簿和工作表。接下来创建一个Font对象,并设置了字体的各种属性,例如名称、大小、粗细、斜体、下划线、删除线和颜色。然后在单元格’A1’中应用了这个字体样式,并添加了一个文本值。最后保存了工作簿到一个名为’font_example.xlsx’的文件中。

二、使用 OpenPyXL 设置单元格边框

1、用法讲解

边框设置功能允许我们在单元格周围添加不同样式和颜色的线条,以突出显示单元格。在openpyxl中,可以使用Border对象来定义边框样式,然后将其应用到单元格。

在openpyxl库中,可以将边框设置为如下形式:

  • ‘thin’: 设置为细线。
  • ‘dashDot’: 设置为虚线点划线。
  • ‘dashDotDot’: 设置为虚线点点划线。
  • ‘dashed’: 设置为虚线。
  • ‘dotted’: 设置为点线。
  • ‘double’: 设置为双线。
  • ‘hair’: 设置为细线。
  • ‘medium’: 设置为中等粗细的线。
  • ‘mediumDashDot’: 设置为中等虚线点划线。
  • ‘mediumDashDotDot’: 设置为中等虚线点点划线。
  • ‘mediumDashed’: 设置为中等虚线。
  • ‘slantDashDot’: 设置为斜虚线点划线。
  • ‘thick’: 设置为粗线。

2、代码示例

下面的代码可以将单元格的框线设置为不同样式:

from openpyxl import Workbook
from openpyxl.styles import Border, Side

workbook = Workbook()
sheet = workbook.active

# 创建不同样式的边框
thin_border = Border(
    left=Side(border_style='thin', color='000000'),
    right=Side(border_style='thin', color='000000'),
    top=Side(border_style='thin', color='000000'),
    bottom=Side(border_style='thin', color='000000')
)

dashed_border = Border(
    left=Side(border_style='dashed', color='FF0000'),
    right=Side(border_style='dashed', color='FF0000'),
    top=Side(border_style='dashed', color='FF0000'),
    bottom=Side(border_style='dashed', color='FF0000')
)

double_border = Border(
    left=Side(border_style='double', color='00FF00'),
    right=Side(border_style='double', color='00FF00'),
    top=Side(border_style='double', color='00FF00'),
    bottom=Side(border_style='double', color='00FF00')
)

# 将不同样式的边框应用到不同单元格
cell1 = sheet['A1']
cell1.border = thin_border

cell2 = sheet['B2']
cell2.border = dashed_border

cell3 = sheet['C3']
cell3.border = double_border

# 保存工作簿
workbook.save('E:\\UserData\\Desktop\\border_example.xlsx')

三、使用 OpenPyXL 设置单元格行高和列宽

1、用法讲解

  • 调节行高:要调节特定行的高度,可以使用row_dimensions属性,然后设置height属性。

以下是调节第2行高度为20的示例:

# 调节第2行的行高为20
sheet.row_dimensions[2].height = 20
  • 调节列宽:要调节特定列的宽度,可以使用column_dimensions属性,然后设置width属性。

以下是调节A列宽度为15的示例:

# 调节A列的列宽为15
sheet.column_dimensions['A'].width = 15
  • 循环调节多行和多列:如果想循环调节多行或多列的行高和列宽,可以使用循环结构。

以下是一个循环调节前5行和前5列的示例:

# 调节前5行的行高为25
for row_num in range(1, 6):
    sheet.row_dimensions[row_num].height = 25

# 调节前5列的列宽为12
for col_num in range(1, 6):
    col_letter = get_column_letter(col_num)
    sheet.column_dimensions[col_letter].width = 12

2、代码示例

import openpyxl
from openpyxl.utils import get_column_letter

# 打开或创建工作簿和工作表
workbook = openpyxl.Workbook()
sheet = workbook.active

# 设置单行行高为20
sheet.row_dimensions[2].height = 20

# 设置单列列宽为15
sheet.column_dimensions['A'].width = 15

# 循环调整前5行的行高为25
for row_num in range(1, 6):
    sheet.row_dimensions[row_num].height = 25

# 循环调整前5列的列宽为12
for col_num in range(1, 6):
    col_letter = get_column_letter(col_num)
    sheet.column_dimensions[col_letter].width = 12

# 保存工作簿
workbook.save("adjusted_excel.xlsx")

你可能感兴趣的:(OpenPyXL零基础教程,excel,python)