Python使用openpyxl处理Excel:读写、样式与合并单元格详解

Alice
Alice
发布时间:2026-10-13| 2人浏览过
原创

本文详细介绍如何使用Python的openpyxl库进行Excel文件处理。涵盖工作簿与工作表的获取、单元格数据的读取与写入,以及通过坐标和切片定位单元格。同时讲解如何设置对齐方式、背景颜色及字体,并演示合并单元格的具体方法,帮助开发者高效完成Excel自动化任务。

一、使用openpyxl读取Excel

在实际开发中,95%的场景下都使用该模块。目前主流的Excel处理库中,只有openpyxl保持活跃维护状态。

1、加载工作簿(Workbook)

workBook=openpyxl.load_workbook('path(.xlsx)').encode('gbk')
print workBook

2、获取工作表(Sheet)

sheetList=workBook.get_sheet_names() 获取所有sheet的名称,保存为列表格式
print sheetList

3、操作单元格(Cell)

(1)使用workBook.get_sheet_by_name('test1')可以获取指定名称的工作表。

(2)通过sheet1.rows属性可以获取所有行数据,返回结果为一个迭代器。

需要注意的是,行和列的索引均从1开始,而非从0开始。

for i in rowsData:
#print i
#print type(i) 元组格式
for j in i:
print j.coordinate(每一个cell的下表),j.value(cell的值), 打印出所有cell的内容
print

(3)通过sheet1.columns属性可以获取所有列数据,同样返回一个迭代器。

(4)若需更新某个单元格,可直接赋值并保存工作簿。

j.value=u'重新赋值'
workBook.save(path(之前操作的路径))

4、单元格的定位方式

主要有两种定位方式:

(1)使用c1=sheet1.cell(coordinate='B2')通过坐标字符串定位单元格。

print c1.value

(2)使用c2=sheet1['B2'],采用字典格式通过键值查找对应的单元格对象。

print c2.value

(3)使用c1=sheet1.cell(row=2,column=3)通过行号和列号定位,例如第二行第三列。

print c1.value

(4)使用切片语法获取指定区域的单元格,例如sheet1['C2':'D7'],返回一个包含元组的嵌套结构。

area=sheet1['C2':'D7'] 得到一个元组
print area 元组里面嵌套元组
for i in area:
# print i
for j in i:
pass
# print j
print j.coordinate,
j.value = j.coordinate
print

二、向Excel写入单元格

1、创建工作簿(Workbook)

workBook=openpyxl.Workbook()

2、创建或获取工作表(Sheet)

sheet1=workBook.create_sheet(title='sheet1',index=0)
index=0 定位第几个sheet

3、写入单元格数据

示例代码:sheet1['B6'].value=u'testB6',随后执行workBook.save(path)保存文件。

4、在下一空行整行写入数据,可使用sheet1.append()方法。

sheet1.append([1,2,3,4,5,6,7])

三、Excel相关的样式操作

import openpyxl
from openpyxl.styles import PatternFill,Alignment,Font,colors
workBook=openpyxl.Workbook()
sheet1=workBook.create_sheet('test')

1、合并单元格,支持两种不同的实现方式。

sheet1.merge_cells(range_string='A2:G2')
sheet1.merge_cells(start_row=2,start_column='A',end_row=2,end_column='G')

2、设置排版样式,包括对齐方式(水平对齐:左、中、右)。

al=Alignment(horizontal='center') horizontal:left,center,right
sheet1['A2'].alignment=al 

3、设置单元格背景颜色。

fill=PatternFill(patternType='solid',fgColor=colors.BLUE)
sheet1['A2'].fill=fill 

4、设置字体颜色及大小。

sheet1[A2].value
font=Font(colors=colors.WHITE,size=14)
sheet1['A2'].font=font

总结

以上内容介绍了Python针对Excel的基本操作方法,旨在帮助读者掌握核心技能。如有任何疑问,欢迎留言交流,小编会及时回复。感谢大家的支持!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。