# 005-python办公基础
**Repository Path**: python_itsj/005-office
## Basic Information
- **Project Name**: 005-python办公基础
- **Description**: 使用python操作常用办公软件
- **Primary Language**: Python
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2025-01-03
- **Last Updated**: 2025-10-19
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 一、搭建本机环境
搭建本机环境
> - 推荐安装: python + pyCharm(IDE)
> - [使用Anaconda管理开发环境](https://gitee.com/test_python_deity/init-env)
````
安装依赖的方式:
pip install 依赖名
python -m pip install 依赖名
pip install xlrd==1.2.0 //指定依赖版本
````
# 二、Excel Demo
2-1 openpyxl (推荐)
````
选择建议
简单读写:pandas(数据分析)或openpyxl(非数据分析)
处理.xls文件:xlrd/xlwt或pyexcel-xls
创建复杂报表:xlsxwriter
需要与Excel交互:win32com
跨格式支持:pyexcel系列
大数据量处理:openpyxl的只读/只写模式
openpyxl优点:
(1)专门处理.xlsx格式,不依赖Excel软件
(2)功能全面,支持读写、公式、图表等
(3)支持大文件处理(优化内存使用)
(4)活跃的社区支持
(5)可以操作Excel的几乎所有元素(单元格样式、条件格式等)
openpyxl缺点:
(1)不支持.xls格式(老版Excel)
(2)处理超大文件时性能可能下降
(3)某些高级功能(如数据透视表)支持有限
示例所需依赖:
pip install openpyxl
````
2-2 pandas (推荐)
````
pandas 优点:
(1)数据处理功能强大(基于DataFrame)
(2)简洁的API(read_excel, to_excel)
(3)支持.xls和.xlsx格式(依赖底层引擎)
(4)适合数据分析和批量处理
(5)高性能(特别是处理结构化数据)
pandas 缺点:
(1)对Excel特定功能(格式、图表等)支持有限
(2)主要面向数据处理而非Excel文件操作
(3)依赖其他库(如openpyxl或xlrd)作为后端
````
2-3 xlrd/xlwt/xlutils
````
xlrd/xlwt/xlutils 优点:
(1)xlrd支持读取.xls和.xlsx(新版xlrd已放弃.xlsx支持)
(2)xlwt专门用于写入.xls文件
(3)轻量级,简单易用
(4)处理老版Excel文件(.xls)的最佳选择
xlrd/xlwt/xlutils 缺点:
(1)xlwt不支持.xlsx格式
(2)xlrd新版已放弃.xlsx支持(需降级或使用其他库)
(3)功能相对有限,不支持修改现有文件(xlutils可部分弥补)
(4)样式支持较少
示例所需依赖:
(1) pip install xlrd==1.2.0 //指定依赖版本;读取excel(高版本不支持xlsx格式)
(2) pip install pymysql // 连接数据库
(3) pip install xlwt==1.3.0 // 指定依赖版本;写入excel
````
- [01-读取excel并写入db](src/excel/xlrd-read-insert-db.py)
````
(1)-打开excel文件 (2)-获取sheet对象 (3)-按行获取数据
(4)-按列获取数据 (5)-按单元格获取数据
````
- [02-写入excel](src/excel/xlwt-write.py)
````
(1) 设置字体样式 + 单元格对齐方式 + 边框 + 背景颜色 + 合并单元格 + 插入图片
(2) 新建wb 新建sheet
(3) 合并单元格 + 按单元格插入数据 + 插入图片
(4) 保存文件
````
2-4 xlsxwriter(只能写,不能读)
````
xlsxwriter 优点:
(1)专门用于创建.xlsx文件
(2)支持高级Excel功能(图表、条件格式、数据验证等)
(3)性能优秀,内存效率高
(4)文档详尽
xlsxwriter 缺点:
(1)仅支持写入,不支持读取
(2)不能修改现有文件(必须从头创建)
(3)学习曲线相对陡峭
示例所需依赖:
pip install xlsxwriter // 操作excel表格;示例版本: 3.2.0
````
- [xlsxwriter新建excel](src/excel/xlsx-write.py)
````
(1)新建wb 新建sheet 设置单元格样式
(2)合并单元格 按单元格写入数据 按行写入数据
(3)写入公式 + 写入超链接 + 插入图片 + 插入图表
(4)保存文件
````
- [将excel拆分成多个sheet](src/excel/filter-excel.py)
````
xlrd读取excel, xlsxwriter写入excel
(1)打开excel文件, 获取sheet对象,获取总行数、总列数, 按行获取数据
(2)新建wb 循环创建sheet, 按单元格写入数据,保存文件
````
2-5 pyexcel/pyexcel-xls/pyexcel-xlsx
````
pyexcel/pyexcel-xls/pyexcel-xlsx 优点:
(1)统一API处理不同格式(.xls, .xlsx, .ods等)
(2)简单易用,适合快速操作
(3)轻量级封装
pyexcel/pyexcel-xls/pyexcel-xlsx 缺点:
(1)功能相对基础
(2)对复杂Excel操作支持有限
(3)依赖其他底层库
````
2-6 win32com/pyXLL
````
win32com/pyXLL 优点:
(1)通过COM接口直接操作Excel应用
(2)支持所有Excel功能(包括VBA)
(3)适合需要与Excel交互的场景
win32com/pyXLL 缺点:
(1)仅限Windows平台
(2)依赖Excel安装
(3)速度较慢(因为通过COM通信)
(4)API较复杂
````
# 三、Demo
2-2 smtplib 发送邮件
- [发送邮件](src/excel/send-email.py)
2-3 word demo
````
依赖:
pip install python-docx // 1.1.2 操作world文档
pip install pywin32 // 308 word转pdf依赖
````
- [写入word](src/word/write.py)
- [读取excel生成Word文档试卷](src/word/word-demo.py)
- [Word转PDF](src/word/to-pdf.py)
2-4 ppt demo
````
安装依赖: pip install python-pptx // 1.0.2 操作pptx文件
pip install Pillow //可能还需要这个依赖
````
- [写入ppt](src/ppt/write.py)
- [ppt-demo](src/ppt/ppt-demo.py)
````
4s店汽车消费者洞察报告
示例功能点: 列表 + 表格 + 矩形 + 柱状图 + 饼状图
````