使用Python写入Excel文件并完成任务新建工作簿与单元格数据赋值,最常用的库是openpyxl,它支持xlsx格式的Excel文件读写,操作逻辑清晰,适合新手快速上手。

环境准备
首先需要安装openpyxl库,使用pip命令即可完成安装:
pip install openpyxl
新建工作簿与表单
使用openpyxl新建一个空的Excel工作簿非常简单,不需要提前准备模板文件,直接通过库提供的方法即可创建。
from openpyxl import Workbook
# 新建工作簿对象
wb = Workbook()
# 获取默认的活动表单,也可以使用wb.create_sheet("表单名称")创建新的表单
ws = wb.active
# 给表单设置名称
ws.title = "数据表单"
单元格数据赋值
给单元格赋值有两种常用方式,一种是直接通过单元格坐标赋值,另一种是通过行和列的索引赋值。
通过单元格坐标赋值
Excel的单元格坐标格式为列字母加行号,比如A1代表第一列第一行,B3代表第二列第三行。
# 给A1单元格赋值字符串 ws["A1"] = "姓名" # 给B1单元格赋值字符串 ws["B1"] = "年龄" # 给A2单元格赋值字符串 ws["A2"] = "张三" # 给B2单元格赋值整数 ws["B2"] = 25
通过行和列索引赋值
openpyxl的单元格行和列索引从1开始,和Excel的默认逻辑一致。
# 给第1行第3列(C1)赋值 ws.cell(row=1, column=3, value="性别") # 给第2行第3列(C2)赋值 ws.cell(row=2, column=3, value="男")
批量写入数据
如果需要写入多行数据,可以使用循环或者append方法,append方法可以一次性写入一行数据,自动按顺序填充到每一列。
# 准备多行数据
data = [
["李四", 28, "女"],
["王五", 30, "男"],
["赵六", 22, "女"]
]
# 从第3行开始写入数据,避免覆盖表头
for row in data:
ws.append(row)
保存工作簿
完成所有赋值操作后,需要调用save方法将工作簿保存到指定路径,注意如果路径下已有同名文件,会被直接覆盖。
# 保存文件到当前目录下的test.xlsx
wb.save("test.xlsx")
print("Excel文件写入完成")
注意事项
- 写入的文件路径如果包含中文,需要保证路径格式正确,避免保存失败
- 如果需要对已有的xlsx文件进行修改,应该使用
load_workbook方法加载文件,而不是新建工作簿 - 单元格可以赋值多种类型的数据,包括字符串、整数、浮点数、日期等,openpyxl会自动适配格式
- 保存文件时如果文件已经被其他程序打开,会导致保存失败,需要先关闭对应的Excel文件