1.创建工作表
1.1 默认工作表

当创建好工作簿之后会自动生成一个工作表(sheet),名为"Sheet",可以通过active来获取

wb = Workbook()
ws = wb.active  # 获取默认的工作表
print(ws.title)  # 返回工作表名,Sheet
1.2 创建工作表

我们可以通过create_sheet方法创建工作表

from openpyxl import Workbook

wb = Workbook()
ws1 = wb.create_sheet("my_sheet1", 1)
ws2 = wb.create_sheet("my_sheet2", 2)
wb.save("./test.xlsx")  # 保存到硬盘

create_sheet(title,index),接收两个参数,表名和位置

title:表名
index:下标即位置,从0开始

2.修改工作表
2.1 工作表信息
print(ws.max_row)  # 最大行数,例如14
print(ws.max_column)  # 最大列数,例如20
print(ws.dimensions)  # 已启用的单元格范围,例如A1:T14
print(ws.encoding)  # 编码类型,例如utf-8
print(ws.sheet_view)  # 对象信息
2.2 获取和修改表名、获取下标
from openpyxl import Workbook

wb = Workbook()
ws1 = wb.create_sheet("my_sheet1", 1)
ws2 = wb.create_sheet("my_sheet2", 2)

# 修改表名
print(ws1.title)  # 输出:my_sheet1
ws1.title = "my_sheet111"
print(ws1.title)  # 输出:my_sheet111

# 获取所有表名
names = wb.get_sheet_names()  # 推荐使用下面的获取用法
sheet_names = wb.sheetnames
print(type(sheet_names), sheet_names)  # 输出:<class 'list'> ['Sheet', 'my_sheet111', 'my_sheet2']

# 通过表名获取表
sheet = wb.get_sheet_by_name("Sheet")  # 推荐使用下面的获取方法
sheet = wb["Sheet"]

# 获取表的下标位置(下标从0开始)
# index = wb.get_index(ws2)  # 推荐下面的获取方法
index = wb.index(ws2)
print("get_index:", index)

2.3 移动、复制、删除表
from openpyxl import Workbook

wb = Workbook()
ws1 = wb.create_sheet("my_sheet1", 1)
ws2 = wb.create_sheet("my_sheet2", 2)

ws1.title = "my_sheet111"
print(ws1.title)
print(wb.sheetnames)  # 输出:['Sheet', 'my_sheet111', 'my_sheet2']

# 移动位置
wb.move_sheet("my_sheet111", -1)   # 向前移动一个位置,正数往后,负数往前
print(wb.sheetnames)  # 输出:['my_sheet111', 'Sheet', 'my_sheet2']

# 删除工作表
# wb.remove_sheet(ws1)  # 方法1
del wb["my_sheet111"]  # 方法2
print(wb.sheetnames)  # 输出:['Sheet', 'my_sheet2']

# 复制工作表
cp_sheet = wb.copy_worksheet(ws1)
print(cp_sheet.title)  # 输出:my_sheet111 Copy

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐