一、openpyxl简介 #
openpyxl 是Python中用于读写Excel(.xlsx)文件的主流库,支持单元格操作、样式、公式、图片等多种功能。
二、安装方法 #
介绍如何安装openpyxl及其依赖。
# 安装openpyxl主库
pip install openpyxl三、基本用法 #
本节介绍如何用openpyxl创建、读取、写入Excel文件和基本单元格操作。
1. 创建Excel文件并写入数据 #
展示如何新建Excel文件并写入数据。
`python
导入openpyxl模块 #
import openpyxl
创建一个新的工作簿 #
wb = openpyxl.Workbook()
选择默认的活动表 #
ws = wb.active
写入表头 #
ws['A1'] = '姓名' ws['B1'] = '年龄'
写入数据 #
ws['A2'] = '张三' ws['B2'] = 23 ws['A3'] = '李四' ws['B3'] = 25
保存Excel文件 #
wb.save('demo.xlsx')
### 2. 读取Excel文件
> 展示如何读取Excel文件内容。
```python
# 导入openpyxl模块
import openpyxl
# 打开已有的Excel文件
wb = openpyxl.load_workbook('demo.xlsx')
# 选择活动表
ws = wb.active
# 读取表头
print(ws['A1'].value, ws['B1'].value)
# 读取数据行
for row in ws.iter_rows(min_row=2, max_row=3, min_col=1, max_col=2):
for cell in row:
print(cell.value, end=' ')
print()3. 单元格操作与批量写入 #
展示如何批量写入和读取单元格。
`python
导入openpyxl模块 #
import openpyxl
创建工作簿和表 #
wb = openpyxl.Workbook() ws = wb.active
批量写入数据 #
data = [ ['姓名', '年龄'], ['王五', 22], ['赵六', 24] ] for row in data: ws.append(row)
批量读取数据 #
for row in ws.iter_rows(min_row=1, max_row=3, min_col=1, max_col=2): for cell in row: print(cell.value, end=' ') print()
保存Excel文件 #
wb.save('batch_demo.xlsx')
## 四、进阶用法
> 本节介绍样式、公式、图片等高级用法。
### 1. 设置单元格样式
> 展示如何设置字体、颜色、对齐等样式。
```python
# 导入openpyxl及样式模块
import openpyxl
from openpyxl.styles import Font, Alignment, PatternFill
# 创建工作簿和表
wb = openpyxl.Workbook()
ws = wb.active
# 设置表头
ws['A1'] = '姓名'
ws['B1'] = '年龄'
# 设置字体、加粗、颜色
ws['A1'].font = Font(name='微软雅黑', bold=True, color='FF0000')
ws['B1'].font = Font(size=12, italic=True)
# 设置单元格填充颜色
ws['A1'].fill = PatternFill(fill_type='solid', fgColor='FFFF00')
# 设置对齐方式
ws['A1'].alignment = Alignment(horizontal='center', vertical='center')
# 保存Excel文件
wb.save('style_demo.xlsx')2. 插入公式 #
展示如何在单元格中插入Excel公式。
`python
导入openpyxl模块 #
import openpyxl
创建工作簿和表 #
wb = openpyxl.Workbook() ws = wb.active
写入数据 #
ws['A1'] = 10 ws['A2'] = 20
插入求和公式 #
ws['A3'] = '=SUM(A1:A2)'
保存Excel文件 #
wb.save('formula_demo.xlsx')
### 3. 插入图片
> 展示如何在Excel中插入图片。
```python
# 导入openpyxl和Image模块
import openpyxl
from openpyxl.drawing.image import Image
# 创建工作簿和表
wb = openpyxl.Workbook()
ws = wb.active
# 插入图片(假设有example.png图片)
img = Image('example.png')
ws.add_image(img, 'C3')
# 保存Excel文件
wb.save('image_demo.xlsx')五、常见应用场景 #
openpyxl 常用于以下场景:
- 自动化批量生成、处理Excel报表
- 数据分析与可视化结果导出
- 教学、财务、科研等Excel自动化
- 与Pandas等数据分析库结合
六、参考资料 #
推荐学习和查阅的openpyxl相关资料。