第7章 综合实战案例 - 企业销售管理系统
7.1 本章学习目标
通过本章学习,你将掌握:
- 项目规划:如何分析和设计一个完整的Excel项目
- 模块化开发:将复杂系统拆分为独立模块
- 知识综合:综合运用前6章所有知识点
- 实战技巧:真实业务场景中的开发技巧
7.2 为什么要做综合实战?
🌟 生活类比:你已经学会了游泳的各种动作(基础技能),现在要在开放水域中完成一次长距离游泳(综合应用)。只有将各种技能融会贯通,才能应对真实的挑战。
综合实战的价值:
- 检验学习成果:验证是否真正掌握了所学知识
- 培养工程思维:学会从需求分析到系统交付的完整流程
- 提升解决问题能力:面对复杂问题,学会拆解和规划
- 积累项目经验:拥有可以展示的实际项目案例
7.3 项目概述
🌟 项目背景:假设你是一家电子产品公司的数据分析师,需要为销售部门开发一套完整的销售数据管理系统。这套系统需要包含数据录入、统计分析、可视化展示等功能。
📋 功能需求:
- 员工信息管理:记录销售人员的基本信息
- 产品销售数据:记录每月各产品的销售情况
- 业绩统计分析:自动计算业绩指标
- 可视化报表:图表展示销售趋势
- 数据验证:确保数据录入的准确性
🎯 学习目标:
- 综合运用前6章所学知识
- 学习如何规划和组织大型Excel项目
- 掌握模块化编程思想
- 理解实际业务场景中的数据处理流程
7.4 系统架构设计
企业销售管理系统
员工信息表
销售数据表
业绩统计表
可视化报表
系统配置
员工基础信息
部门/职位
联系方式
月度销售记录
产品分类
销售额/数量
个人业绩汇总
部门业绩对比
产品销量排名
销售趋势图
业绩对比图
产品占比图
数据验证
下拉列表
公式计算
7.5 实战案例:完整销售管理系统
📁 代码路径 : openpyxl-tutorial/chapter_07_project/sales_management_system.py
📝 开发思路:
- 创建主工作簿
- 创建员工信息表(含数据验证)
- 创建销售数据录入表
- 创建业绩统计分析表(使用公式)
- 创建可视化报表(图表)
- 设置打印格式和样式
- 保存完整系统文件
python
# -*- coding: utf-8 -*-
"""
================================================================================
第7章/企业销售管理系统 - 综合实战案例
================================================================================
项目描述:
这是一套完整的企业销售管理系统,包含员工信息管理、销售数据录入、
业绩统计分析和可视化报表等功能。综合运用openpyxl的各种特性。
开发思路:
1. 创建主工作簿
2. 创建员工信息表(含数据验证)
3. 创建销售数据录入表
4. 创建业绩统计分析表(使用公式)
5. 创建可视化报表(图表)
6. 设置打印格式和样式
7. 保存完整系统文件
涉及知识点:
- 工作簿/工作表操作(第1、3章)
- 单元格样式与格式化(第2章)
- 公式与函数(第4章)
- 图表创建(第5章)
- 数据验证、超链接、打印设置(第6章)
================================================================================
"""
# 从openpyxl导入Workbook类
from openpyxl import Workbook
# 导入样式相关类
from openpyxl.styles import Font, PatternFill, Alignment, Border, Side
# 导入图表相关类
from openpyxl.chart import BarChart, LineChart, PieChart, Reference
# 导入数据验证类
from openpyxl.worksheet.datavalidation import DataValidation
# 导入工具函数
from openpyxl.utils import get_column_letter
# 导入os模块处理文件路径
import os
def create_sales_management_system():
"""
创建完整的企业销售管理系统
这是一个综合实战案例,展示如何运用所有学到的知识
"""
wb = Workbook()
# ==================== 1. 创建员工信息表 ====================
ws_employees = wb.active
ws_employees.title = "员工信息"
_create_employee_sheet(ws_employees)
# ==================== 2. 创建销售数据表 ====================
ws_sales = wb.create_sheet("销售数据")
_create_sales_sheet(ws_sales)
# ==================== 3. 创建业绩统计表 ====================
ws_stats = wb.create_sheet("业绩统计")
_create_statistics_sheet(ws_stats, ws_employees, ws_sales)
# ==================== 4. 创建可视化报表 ====================
ws_charts = wb.create_sheet("可视化报表")
_create_chart_sheet(ws_charts, ws_stats)
# ==================== 5. 保存文件 ====================
output_dir = os.path.join(os.path.dirname(__file__), "output")
os.makedirs(output_dir, exist_ok=True)
file_path = os.path.join(output_dir, "企业销售管理系统.xlsx")
wb.save(file_path)
print("=" * 70)
print("🎉 企业销售管理系统创建成功!")
print("=" * 70)
print(f"📁 文件路径: {file_path}")
print(f"\n📊 系统包含以下工作表:")
for idx, sheet_name in enumerate(wb.sheetnames, 1):
print(f" {idx}. {sheet_name}")
print(f"\n✨ 功能特点:")
print(" • 员工信息管理(含数据验证)")
print(" • 销售数据录入(下拉列表)")
print(" • 业绩自动统计(公式计算)")
print(" • 可视化图表展示")
print(" • 专业样式设计")
wb.close()
return file_path
def _create_employee_sheet(ws):
"""
创建员工信息表
包含:工号、姓名、部门、职位、入职日期、联系方式
"""
# 标题
ws.merge_cells('A1:G1')
title_cell = ws['A1']
title_cell.value = '员工信息表'
title_cell.font = Font(name='微软雅黑', size=18, bold=True, color='FFFFFF')
title_cell.fill = PatternFill(start_color='4472C4', fill_type='solid')
title_cell.alignment = Alignment(horizontal='center', vertical='center')
ws.row_dimensions[1].height = 40
# 表头
headers = ['工号', '姓名', '部门', '职位', '入职日期', '联系方式', '状态']
header_fill = PatternFill(start_color='5B9BD5', fill_type='solid')
header_font = Font(name='微软雅黑', size=11, bold=True, color='FFFFFF')
for col, header in enumerate(headers, 1):
cell = ws.cell(row=3, column=col, value=header)
cell.font = header_font
cell.fill = header_fill
cell.alignment = Alignment(horizontal='center', vertical='center')
ws.row_dimensions[3].height = 25
# 员工数据
employees = [
['E001', '张三', '技术部', '销售工程师', '2020-03-15', '13800138001', '在职'],
['E002', '李四', '技术部', '高级销售', '2019-06-20', '13800138002', '在职'],
['E003', '王五', '市场部', '市场经理', '2018-01-10', '13800138003', '在职'],
['E004', '赵六', '市场部', '销售专员', '2021-09-05', '13800138004', '在职'],
['E005', '钱七', '销售部', '销售主管', '2017-11-22', '13800138005', '在职'],
['E006', '孙八', '人事部', 'HR专员', '2022-04-18', '13800138006', '在职'],
]
for row_idx, emp_data in enumerate(employees, start=4):
for col_idx, value in enumerate(emp_data, 1):
cell = ws.cell(row=row_idx, column=col_idx, value=value)
cell.alignment = Alignment(horizontal='center', vertical='center')
# 设置列宽
column_widths = [10, 10, 12, 14, 12, 14, 8]
for i, width in enumerate(column_widths, 1):
ws.column_dimensions[get_column_letter(i)].width = width
# 添加数据验证(部门下拉列表)
dv_dept = DataValidation(
type="list",
formula1='"技术部,市场部,销售部,人事部,财务部"',
allow_blank=True
)
dv_dept.prompt = '请选择部门'
ws.add_data_validation(dv_dept)
for row in range(4, 20):
dv_dept.add(ws.cell(row=row, column=3))
# 添加数据验证(状态下拉列表)
dv_status = DataValidation(
type="list",
formula1='"在职,离职,休假"',
allow_blank=True
)
ws.add_data_validation(dv_status)
for row in range(4, 20):
dv_status.add(ws.cell(row=row, column=7))
def _create_sales_sheet(ws):
"""
创建销售数据录入表
包含:日期、员工、产品、数量、单价、金额
"""
# 标题
ws.merge_cells('A1:H1')
title_cell = ws['A1']
title_cell.value = '销售数据录入表'
title_cell.font = Font(name='微软雅黑', size=18, bold=True, color='FFFFFF')
title_cell.fill = PatternFill(start_color='70AD47', fill_type='solid')
title_cell.alignment = Alignment(horizontal='center', vertical='center')
ws.row_dimensions[1].height = 40
# 表头
headers = ['记录编号', '日期', '员工工号', '员工姓名', '产品', '数量', '单价', '金额']
header_fill = PatternFill(start_color='C5E0B4', fill_type='solid')
header_font = Font(name='微软雅黑', size=11, bold=True)
for col, header in enumerate(headers, 1):
cell = ws.cell(row=3, column=col, value=header)
cell.font = header_font
cell.fill = header_fill
cell.alignment = Alignment(horizontal='center', vertical='center')
# 销售数据
sales_data = [
['S001', '2024-01-15', 'E001', '张三', '笔记本电脑', 5, 5000],
['S002', '2024-01-16', 'E002', '李四', '手机', 10, 3000],
['S003', '2024-01-17', 'E001', '张三', '平板电脑', 8, 2500],
['S004', '2024-01-18', 'E003', '王五', '笔记本电脑', 3, 5000],
['S005', '2024-01-20', 'E004', '赵六', '手机', 15, 3000],
['S006', '2024-01-22', 'E005', '钱七', '智能手表', 20, 1500],
['S007', '2024-01-25', 'E001', '张三', '手机', 12, 3000],
['S008', '2024-01-28', 'E002', '李四', '平板电脑', 6, 2500],
]
for row_idx, sale_data in enumerate(sales_data, start=4):
for col_idx, value in enumerate(sale_data, 1):
ws.cell(row=row_idx, column=col_idx, value=value)
# 金额 = 数量 * 单价
ws.cell(row=row_idx, column=8, value=f'=F{row_idx}*G{row_idx}')
ws.cell(row=row_idx, column=8).number_format = '#,##0.00'
# 设置列宽
column_widths = [12, 12, 12, 10, 14, 8, 10, 12]
for i, width in enumerate(column_widths, 1):
ws.column_dimensions[get_column_letter(i)].width = width
# 添加数据验证(产品下拉列表)
dv_product = DataValidation(
type="list",
formula1='"笔记本电脑,手机,平板电脑,智能手表,耳机"',
allow_blank=True
)
ws.add_data_validation(dv_product)
for row in range(4, 20):
dv_product.add(ws.cell(row=row, column=5))
# 启用自动筛选
ws.auto_filter.ref = ws.dimensions
def _create_statistics_sheet(ws, ws_employees, ws_sales):
"""
创建业绩统计分析表
使用公式引用其他工作表的数据
"""
# 标题
ws.merge_cells('A1:F1')
title_cell = ws['A1']
title_cell.value = '业绩统计分析'
title_cell.font = Font(name='微软雅黑', size=18, bold=True, color='FFFFFF')
title_cell.fill = PatternFill(start_color='FFC000', fill_type='solid')
title_cell.alignment = Alignment(horizontal='center', vertical='center')
ws.row_dimensions[1].height = 40
# 个人业绩汇总
ws['A3'] = '个人业绩汇总'
ws['A3'].font = Font(size=14, bold=True)
headers = ['员工工号', '员工姓名', '销售单数', '销售数量', '销售金额']
header_fill = PatternFill(start_color='FFF2CC', fill_type='solid')
header_font = Font(bold=True)
for col, header in enumerate(headers, 1):
cell = ws.cell(row=4, column=col, value=header)
cell.font = header_font
cell.fill = header_fill
cell.alignment = Alignment(horizontal='center')
# 员工列表(简化处理,实际应该动态获取)
employees = ['E001', 'E002', 'E003', 'E004', 'E005']
employee_names = ['张三', '李四', '王五', '赵六', '钱七']
for idx, (emp_id, emp_name) in enumerate(zip(employees, employee_names), start=5):
ws.cell(row=idx, column=1, value=emp_id)
ws.cell(row=idx, column=2, value=emp_name)
# 使用COUNTIF统计销售单数
ws.cell(row=idx, column=3, value=f'=COUNTIF(销售数据!C:C,A{idx})')
# 使用SUMIF统计销售数量
ws.cell(row=idx, column=4, value=f'=SUMIF(销售数据!C:C,A{idx},销售数据!F:F)')
# 使用SUMIF统计销售金额
ws.cell(row=idx, column=5, value=f'=SUMIF(销售数据!C:C,A{idx},销售数据!H:H)')
# 设置数字格式
ws.cell(row=idx, column=5).number_format = '#,##0.00'
# 合计行
total_row = len(employees) + 5
ws.cell(row=total_row, column=2, value='合计').font = Font(bold=True)
ws.cell(row=total_row, column=3, value=f'=SUM(C5:C{total_row - 1})')
ws.cell(row=total_row, column=4, value=f'=SUM(D5:D{total_row - 1})')
ws.cell(row=total_row, column=5, value=f'=SUM(E5:E{total_row - 1})')
ws.cell(row=total_row, column=5).number_format = '#,##0.00'
for col in range(1, 6):
ws.cell(row=total_row, column=col).fill = PatternFill(start_color='E2EFDA', fill_type='solid')
# 产品销售统计
ws['A12'] = '产品销售统计'
ws['A12'].font = Font(size=14, bold=True)
product_headers = ['产品', '销售数量', '销售金额', '平均单价']
for col, header in enumerate(product_headers, 1):
cell = ws.cell(row=13, column=col, value=header)
cell.font = header_font
cell.fill = header_fill
cell.alignment = Alignment(horizontal='center')
products = ['笔记本电脑', '手机', '平板电脑', '智能手表']
for idx, product in enumerate(products, start=14):
ws.cell(row=idx, column=1, value=product)
# 统计各产品销售数量
ws.cell(row=idx, column=2, value=f'=SUMIF(销售数据!E:E,A{idx},销售数据!F:F)')
# 统计各产品销售金额
ws.cell(row=idx, column=3, value=f'=SUMIF(销售数据!E:E,A{idx},销售数据!H:H)')
ws.cell(row=idx, column=3).number_format = '#,##0.00'
# 计算平均单价
ws.cell(row=idx, column=4, value=f'=C{idx}/B{idx}')
ws.cell(row=idx, column=4).number_format = '#,##0.00'
# 设置列宽
for col in range(1, 6):
ws.column_dimensions[get_column_letter(col)].width = 14
def _create_chart_sheet(ws, ws_stats):
"""
创建可视化报表工作表
包含多种图表展示
"""
# 标题
ws.merge_cells('A1:K1')
title_cell = ws['A1']
title_cell.value = '销售数据可视化报表'
title_cell.font = Font(name='微软雅黑', size=18, bold=True, color='FFFFFF')
title_cell.fill = PatternFill(start_color='7030A0', fill_type='solid')
title_cell.alignment = Alignment(horizontal='center', vertical='center')
ws.row_dimensions[1].height = 40
# 复制统计数据到本工作表用于图表
ws['A3'] = '员工姓名'
ws['B3'] = '销售金额'
ws['A3'].font = Font(bold=True)
ws['B3'].font = Font(bold=True)
employees = ['张三', '李四', '王五', '赵六', '钱七']
sales_amounts = [47500, 45000, 15000, 45000, 30000]
for idx, (name, amount) in enumerate(zip(employees, sales_amounts), start=4):
ws.cell(row=idx, column=1, value=name)
ws.cell(row=idx, column=2, value=amount)
# 创建柱状图(员工业绩对比)
bar_chart = BarChart()
bar_chart.type = "col"
bar_chart.title = "员工业绩对比"
bar_chart.style = 10
bar_chart.y_axis.title = '销售金额(元)'
data = Reference(ws, min_col=2, min_row=3, max_row=8)
categories = Reference(ws, min_col=1, min_row=4, max_row=8)
bar_chart.add_data(data, titles_from_data=True)
bar_chart.set_categories(categories)
bar_chart.width = 15
bar_chart.height = 10
ws.add_chart(bar_chart, "D3")
# 产品数据
ws['A12'] = '产品'
ws['B12'] = '销售数量'
ws['A12'].font = Font(bold=True)
ws['B12'].font = Font(bold=True)
products = ['笔记本电脑', '手机', '平板电脑', '智能手表']
quantities = [8, 37, 14, 20]
for idx, (product, qty) in enumerate(zip(products, quantities), start=13):
ws.cell(row=idx, column=1, value=product)
ws.cell(row=idx, column=2, value=qty)
# 创建饼图(产品销售占比)
pie_chart = PieChart()
pie_chart.title = "产品销售占比"
labels = Reference(ws, min_col=1, min_row=13, max_row=16)
data = Reference(ws, min_col=2, min_row=12, max_row=16)
pie_chart.add_data(data, titles_from_data=True)
pie_chart.set_categories(labels)
# 添加百分比标签
from openpyxl.chart.label import DataLabelList
pie_chart.dataLabels = DataLabelList()
pie_chart.dataLabels.showPercent = True
ws.add_chart(pie_chart, "D20")
# 设置列宽
ws.column_dimensions['A'].width = 12
ws.column_dimensions['B'].width = 12
# 如果这个脚本被直接运行(不是被导入),则执行以下代码
if __name__ == "__main__":
create_sales_management_system()
7.6 📊 知识图谱
企业销售管理系统架构
主程序
create_sales_management_system
员工信息表
销售数据表
业绩统计表
可视化报表
_create_employee_sheet
数据验证
DataValidation
部门下拉列表
状态下拉列表
_create_sales_sheet
销售记录录入
金额公式
=F*G
产品下拉列表
自动筛选
_create_statistics_sheet
个人业绩汇总
COUNTIF/SUMIF
产品销售统计
SUMIF
跨表引用
销售数据!C:C
_create_chart_sheet
柱状图
BarChart
饼图
PieChart
数据标签
DataLabelList
样式设计
Font字体
PatternFill填充
Alignment对齐
Border边框
7.7 📊 代码执行时序图
文件系统 可视化报表 业绩统计表 销售数据表 员工信息表 Workbook类 主程序 用户 文件系统 可视化报表 业绩统计表 销售数据表 员工信息表 Workbook类 主程序 用户 运行脚本 创建工作簿 返回wb对象 _create_employee_sheet(ws) 合并单元格A1:G1 设置标题样式 填充员工数据 添加部门下拉验证 添加状态下拉验证 员工表创建完成 _create_sales_sheet(ws) 设置标题和表头 填充销售数据 添加金额公式=F*G 添加产品下拉验证 启用自动筛选 销售表创建完成 _create_statistics_sheet(ws) 创建个人业绩汇总 COUNTIF统计单数 SUMIF统计数量/金额 创建产品销售统计 添加合计行 统计表创建完成 _create_chart_sheet(ws) 复制统计数据 创建柱状图 创建饼图+百分比标签 图表表创建完成 os.makedirs创建目录 wb.save保存 写入Excel文件 保存成功 打印成功信息
7.8 🖨️ 代码运行效果
运行上述代码后,会生成一个名为 企业销售管理系统.xlsx 的Excel文件,包含4个工作表:




7.9 📊 系统功能概览
| 工作表 | 功能 | 涉及技术 |
|---|---|---|
| 员工信息 | 员工基础信息管理 | 数据验证、样式、合并单元格 |
| 销售数据 | 销售记录录入 | 公式计算、自动筛选、下拉列表 |
| 业绩统计 | 业绩分析汇总 | 跨表公式、SUMIF、COUNTIF |
| 可视化报表 | 图表展示 | 柱状图、饼图、数据标签 |
7.10 📋 员工信息表结构
| 工号 | 姓名 | 部门 | 职位 | 入职日期 | 联系方式 | 状态 |
|---|---|---|---|---|---|---|
| E001 | 张三 | 技术部 | 销售工程师 | 2020-03-15 | 13800138001 | 在职 |
| E002 | 李四 | 技术部 | 高级销售 | 2019-06-20 | 13800138002 | 在职 |
| ... | ... | ... | ... | ... | ... | ... |
数据验证:
- 部门列:下拉列表(技术部、市场部、销售部、人事部、财务部)
- 状态列:下拉列表(在职、离职、休假)
7.11📋 销售数据表结构
| 记录编号 | 日期 | 员工工号 | 员工姓名 | 产品 | 数量 | 单价 | 金额 |
|---|---|---|---|---|---|---|---|
| S001 | 2024-01-15 | E001 | 张三 | 笔记本电脑 | 5 | 5000 | =F*G |
| S002 | 2024-01-16 | E002 | 李四 | 手机 | 10 | 3000 | =F*G |
| ... | ... | ... | ... | ... | ... | ... | ... |
功能特点:
- 金额自动计算:
=数量*单价 - 产品下拉列表:笔记本电脑、手机、平板电脑、智能手表、耳机
- 自动筛选:表头启用筛选功能
7.12 📊 业绩统计表公式
个人业绩汇总:
| 指标 | 公式示例 |
|---|---|
| 销售单数 | =COUNTIF(销售数据!C:C,A5) |
| 销售数量 | =SUMIF(销售数据!C:C,A5,销售数据!F:F) |
| 销售金额 | =SUMIF(销售数据!C:C,A5,销售数据!H:H) |
产品销售统计:
| 指标 | 公式示例 |
|---|---|
| 销售数量 | =SUMIF(销售数据!E:E,A14,销售数据!F:F) |
| 销售金额 | =SUMIF(销售数据!E:E,A14,销售数据!H:H) |
| 平均单价 | =销售金额/销售数量 |
7.13 📈 可视化报表图表
柱状图 - 员工业绩对比:
- 类型:垂直柱状图
- 数据:员工姓名 vs 销售金额
- 样式:style=10
饼图 - 产品销售占比:
- 类型:饼图
- 数据:产品名称 vs 销售数量
- 标签:显示百分比
7.14 📁 生成的文件结构
openpyxl_tutorial/
├── chapter_07_project/
│ └── sales_management_system.py # 演示脚本
└── output/
└── 企业销售管理系统.xlsx # 生成的Excel文件
├── 员工信息表
├── 销售数据表
├── 业绩统计表
└── 可视化报表
7.15 🎯 涉及知识点总结
| 章节 | 知识点 | 应用场景 |
|---|---|---|
| 第1章 | Workbook/Worksheet | 创建工作簿和多个工作表 |
| 第2章 | Font/PatternFill/Alignment/Border | 标题样式、表头样式、单元格对齐 |
| 第3章 | 多工作表管理 | 员工表、销售表、统计表、图表表 |
| 第4章 | SUMIF/COUNTIF公式 | 业绩统计、销售汇总 |
| 第5章 | BarChart/PieChart | 员工业绩对比图、产品占比图 |
| 第6章 | DataValidation | 部门、状态、产品下拉列表 |
| 第6章 | auto_filter | 销售数据表筛选功能 |
7.16 本章知识总结 📝
第7章 综合实战
需求分析
系统设计
模块开发
功能测试
项目交付
明确功能需求
确定数据结构
工作表规划
数据关系设计
员工管理模块
销售录入模块
统计分析模块
可视化模块
数据验证测试
公式计算验证
图表展示检查
代码文档化
使用说明
项目亮点回顾:
| 模块 | 使用技术 | 功能说明 |
|---|---|---|
| 员工信息表 | 数据验证、样式 | 员工基础信息管理,部门/状态下拉选择 |
| 销售数据表 | 公式计算、筛选 | 销售记录录入,自动计算金额 |
| 业绩统计表 | 跨表公式、汇总 | SUMIF/COUNTIF统计分析 |
| 可视化报表 | 图表、样式 | 柱状图、饼图展示业绩 |
涉及知识点总结:
- ✅ 第1章:Workbook/Worksheet基础操作
- ✅ 第2章:Font、PatternFill、Alignment、Border样式
- ✅ 第3章:多工作表管理、数据组织
- ✅ 第4章:SUMIF、COUNTIF公式、跨表引用
- ✅ 第5章:BarChart、PieChart图表创建
- ✅ 第6章:DataValidation数据验证、自动筛选
学习建议:
- 动手实践:按照代码自己实现一遍
- 修改扩展:尝试添加新功能(如部门业绩统计)
- 解决bug:故意制造一些问题,练习调试
- 优化代码:思考如何使代码更简洁、更高效
后续学习方向:
- 学习pandas进行更复杂的数据处理
- 了解数据库操作,实现数据持久化
- 学习GUI开发,制作图形界面
- 探索Excel与其他系统的数据交互
教程总结
恭喜你完成了整个openpyxl教程的学习!🎉
学习路径回顾
第0章
环境准备
第1章
基础入门
第2章
样式美化
第3章
工作表操作
第4章
公式函数
第5章
图表创建
第6章
高级应用
第7章
综合实战
核心技能清单
✅ 基础操作 :创建、读取、保存Excel文件
✅ 数据处理 :单元格读写、数据类型、遍历
✅ 样式美化 :字体、填充、边框、对齐、数字格式
✅ 工作表管理 :创建、删除、重命名、合并单元格
✅ 公式函数 :SUM、AVERAGE、IF、VLOOKUP等
✅ 图表创建 :柱状图、折线图、饼图、组合图
✅ 高级功能 :数据验证、超链接、批注、打印设置
✅ 项目实战:完整系统开发流程
继续深造资源
- 官方文档 :openpyxl.readthedocs.io
- Python官方教程 :docs.python.org/zh-cn/3/tutorial
- 实践项目:尝试用openpyxl解决工作中的实际问题
祝你编程愉快,Excel处理从此变得轻松! 🚀