# 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店汽车消费者洞察报告 示例功能点: 列表 + 表格 + 矩形 + 柱状图 + 饼状图 ````