当使用openpyxl设置字体样式时,可以使用以下属性来调整字体的不同方面:
通过调整这些属性的值,可以自定义单元格中文字的字体样式,包括字体名称、大小、粗体、斜体、下划线、删除线和颜色等。
以下是使用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中,可以使用Border对象来定义边框样式,然后将其应用到单元格。
在openpyxl库中,可以将边框设置为如下形式:
下面的代码可以将单元格的框线设置为不同样式:
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')
以下是调节第2行高度为20的示例:
# 调节第2行的行高为20
sheet.row_dimensions[2].height = 20
以下是调节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
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")