注意:openpyxl不支持.xls格式,如需操作.xls文件,可使用xlrd(读)和xlwt(写)库。
一、安装与导入
安装openpyxl:pip install openpyxl
导入模块:
from openpyxl import Workbook, load_workbook
二、工作簿操作
1. 新建工作簿
wb = Workbook() # 创建一个新的工作簿
ws = wb.active # 获取默认的工作表(第一个工作表)
2. 保存工作簿
wb.save('example.xlsx')
3. 打开已有工作簿
wb = load_workbook('example.xlsx')

三、工作表操作
1. 创建新的工作表
ws1 = wb.create_sheet(“NewSheet”) # 在末尾插入
ws2 = wb.create_sheet(“AnotherSheet”, 0) # 在第一个位置插入
2. 获取工作表名称
sheet_names = wb.sheetnames # 获取所有工作表名称
# 遍历工作表
for sheet in wb.sheetnames:
print(sheet) # 输出所有工作表名
3. 选择工作表
ws = wb['Sheet1'] # 通过名称选择
# 或者
ws = wb.worksheets[0] # 通过索引选择
4. 删除工作表
wb.remove(ws) # 删除工作表
# 或者
del wb['Sheet2'] # 另一种方式
5. 重命名工作表
ws.title = “Renamed Sheet”

四、单元格操作
1. 获取单元格
cell = ws['A1'] # 通过坐标
cell = ws.cell(row=1, column=1) # 通过行和列
2. 写入单元格
ws['A1'] = 100 # 直接坐标写入
ws.cell(row=1, column=2, value=200) # 行列索引写入
3. 获取多个单元格(区域)
cell_range = ws['A1':'C2'] # 获取A1到C2的矩形区域
# 批量写入
data = [[“电脑”, 5999], [“平板”, 3999]]
for row in data:
ws.append(row) # 自动追加到末尾
# 批量读取
for row in ws.iter_rows(min_row=1, max_col=2, values_only=True):
print(row) # 输出:('产品名称', None) → ('电脑', 5999)
4. 按行或列获取
for row in ws.iter_rows(min_row=1, max_row=2, min_col=1, max_col=3):
for cell in row:
print(cell.value)
for col in ws.iter_cols(min_row=1, max_row=2, min_col=1, max_col=3):
for cell in col:
print(cell.value)
















- 最新
- 最热
只看作者