👉 项目官网:https://www.python-office.com/ 👈

github star

大家好,这里是程序员晚枫,正在all in AI编程实战

今天这讲,我们深入学习 Excel 的格式化操作——让表格变得漂亮专业。

1、设置字体和颜色

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import office

# 写入数据
data = [
['姓名', '销售额', '排名'],
['张三', 100000, 1],
['李四', 80000, 2],
['王五', 95000, 3]
]

# 设置表头格式
office.excel.write(
path='销售报表.xlsx',
data=data,
font='微软雅黑', # 字体
font_size=12, # 字号
font_bold=True, # 加粗
font_color='FFFFFF', # 白色字体
bg_color='4472C4', # 蓝色背景
by_range='A1:C1' # 只作用于表头行
)

2、设置单元格背景色

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import office

# 设置奇偶行不同颜色
data = [
['姓名', '销售额'],
['张三', 100000],
['李四', 80000],
['王五', 95000],
['赵六', 75000]
]

# 表头
office.excel.write(path='格式表.xlsx', data=data, bg_color='4472C4', font_color='FFFFFF')

# 隔行着色
for i in range(2, len(data) + 1):
color = 'E7F0FF' if i % 2 == 0 else 'FFFFFF'
office.excel.format_cell(
path='格式表.xlsx',
cell=f'A{i}:B{i}',
bg_color=color
)

3、设置边框

1
2
3
4
5
6
7
8
9
10
import office

# 设置边框
office.excel.format_cell(
path='表格.xlsx',
cell='A1:C5',
border=True, # 显示边框
border_style='thin', # thin/medium/thick
border_color='000000' # 黑色边框
)

4、合并单元格

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import office

# 合并单元格
office.excel.merge_cell(
path='表格.xlsx',
cell='A1:C1' # 合并A1到C1
)

# 居中对齐
office.excel.format_cell(
path='表格.xlsx',
cell='A1',
align='center' # center/left/right
)

5、数字格式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import office

# 设置数字格式
data = [
['项目', '金额', '比例'],
['收入', 1234567.89, 0.1234],
['支出', 876543.21, 0.0876]
]

office.excel.write(path='财务报表.xlsx', data=data)

# 格式化金额(保留2位小数,加千分位)
office.excel.format_cell(
path='财务报表.xlsx',
cell='B2:B3',
number_format='#,##0.00'
)

# 格式化百分比
office.excel.format_cell(
path='财务报表.xlsx',
cell='C2:C3',
number_format='0.00%'
)

6、实战案例:自动生成漂亮的工资条

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import office

def create_payroll_slip(name, base, bonus):
"""生成一张漂亮的工资条"""
filename = f'工资条_{name}.xlsx'

data = [
['工资条'],
['姓名', name],
['基本工资', base],
['奖金', bonus],
['合计', base + bonus]
]

# 标题行
office.excel.write(path=filename, data=data)

# 表头样式
office.excel.merge_cell(path=filename, cell='A1:B1')
office.excel.format_cell(path=filename, cell='A1',
font_size=16, font_bold=True, align='center',
bg_color='4472C4', font_color='FFFFFF')

# 表格边框
office.excel.format_cell(path=filename, cell='A1:B5', border=True)

# 合计行高亮
office.excel.format_cell(path=filename, cell='A5:B5', bg_color='FFF2CC')

return filename

# 生成3个员工的工资条
for name in ['张三', '李四', '王五']:
create_payroll_slip(name, 10000, 2000)
print(f'已生成: 工资条_{name}.xlsx')

7、常见问题

Q:颜色代码怎么填?

A:用6位十六进制,如 FF0000 是红色,4472C4 是蓝色。

Q:字体名怎么填?

A:用系统已安装的字体,如 微软雅黑宋体Arial

Q:样式没生效?

A:确保单元格范围正确,如 A1:C1 不要有空格。

8、下讲预告

学会了格式化,下一讲我们学 Excel高级筛选:自动筛选、排序、数据验证。

敬请期待!


有问题欢迎加微信 python-office 进群交流~

程序员晚枫专注AI编程培训,小白看完他和图灵社区合作的教程《30讲 · AI编程训练营》就能上手做AI项目。

🎓 AI 编程实战课程

想系统学习 AI 编程?程序员晚枫的 AI 编程实战课 帮你从零上手!