数据格式化,效果见上图。 (5)输入表格标题:学生成绩表;设置表格标题:字体为华文彩云、24磅大小,跨A~H 列居中;设置表格列标题:底纹图案样式为“12.5% 灰色”;设置表格外框双线、内框单线。 (6)利用条件格式,将数学、外语和计算机成绩小于60的单元格字体设置红色。
时间: 2024-02-05 16:12:36 浏览: 24
很抱歉,我无法看到你提到的上图。不过,我可以为你提供一些数据格式化的代码,希望能帮到你。
1. 输入表格标题
```
# 导入必要的库
from openpyxl.styles import Font, Alignment
from openpyxl.utils import get_column_letter
# 设置表格标题
sheet['A1'].value = '学生成绩表'
sheet.merge_cells(start_row=1, start_column=1, end_row=1, end_column=8)
title_font = Font(name='华文彩云', size=24)
sheet['A1'].font = title_font
sheet['A1'].alignment = Alignment(horizontal='center')
```
2. 设置表格列标题
```
# 设置表格列标题
col_titles = ['姓名', '语文', '数学', '英语', '物理', '化学', '生物', '计算机']
for i, title in enumerate(col_titles):
col_letter = get_column_letter(i+1)
sheet[f'{col_letter}2'].value = title
sheet[f'{col_letter}2'].fill = PatternFill(start_color='D9D9D9', end_color='D9D9D9', fill_type='solid')
sheet.column_dimensions[col_letter].width = 12
```
3. 设置表格外框和内框
```
# 设置表格外框和内框
from openpyxl.styles.borders import Border, Side
border = Border(left=Side(border_style='double'), right=Side(border_style='double'), top=Side(border_style='double'), bottom=Side(border_style='double'))
inner_border = Border(left=Side(border_style='thin'), right=Side(border_style='thin'), top=Side(border_style='thin'), bottom=Side(border_style='thin'))
for row in range(3, sheet.max_row+1):
for col in range(1, sheet.max_column+1):
cell = sheet.cell(row=row, column=col)
if row == 3:
cell.border = border
else:
cell.border = inner_border
```
4. 利用条件格式设置字体为红色
```
# 利用条件格式设置字体为红色
from openpyxl.styles import PatternFill
red_fill = PatternFill(start_color='FF0000', end_color='FF0000', fill_type='solid')
for row in range(4, sheet.max_row+1):
for col in range(2, 5):
if sheet.cell(row=row, column=col).value is not None and sheet.cell(row=row, column=col).value < 60:
sheet.cell(row=row, column=col).font = Font(color='FF0000')
```