创建工作表
from openpyxl import *
file = r"D:\xlsx\lianxi_2.xlsx"
wb1 = Workbook(file)
wb1.save(file)
打开load工作表
from openpyxl import *
file = r"D:\xlsx\lianxi_1.xlsx"
wb1 = load_workbook(file)
wb1.save(file)
指定工作表
- workbook_name[worksheet_name]指定
- 如果只有一个工作表,用workbook_name.active
ws1 = wb1["student"]
ws2 = wb1.active
ws3 = wb1.worksheets[0]
wb1.save(file)
工作表名称遍历
wb1 = load_workbook(file)
for i_ws in wb1.worksheets:
print(i_ws.title)
新建指定工作表
- 使用create_sheet(sheet_name)
wb1 = load_workbook(file)
wb1.create_sheet("province")
删除指定工作表对象
wb1 = load_workbook(file)
ws1 = wb1["province"]
wb1.remove(ws1)
复制指定工作表
- 使用copy_worksheet(work_sheet对象)
wb1 = load_workbook(file)
ws1 = wb1.copy_worksheet(wb1["student"])
ws1.title = "class"
wb1.save(file)
案例
新建N张工作表
for idx in range(5):
wb1.create_sheet("new_"+str(idx))
wb1.save(file)
批量改名称
for i_ws in wb1.worksheets:
i_ws.title = "add_" + i_ws.title
wb1.save(file)
批量复制工作表
for idx in range(3):
ws1 = wb1.copy_worksheet(wb1["template"])
ws1.title = "new_" + str(idx)
wb1.save(file)
属性总结
- active: 获取当前活动的worksheet
- properties: 获取文档的相关数据,如创作者,日期等
- worksheets: 以列表的额形式返回所有的worksheet
- sheetnames: 以列表的额形式返回所有worksheet的名字
- encoding: 返回文档的字符编码
- read_only: 是否改写
- data_only: 默认为flase,为true时只显示值而不显示公式
方法总结
- workbook[worksheet_name] 指定工作表对象
- remove(worksheet_obj) 删除工作表对象
- copy_worksheet(worksheet_obj) 在工作簿中拷贝工作表
- save(file) 保存