import openpyxl
from openpyxl.writer.excel import save_workbook
columns = ['Name', 'Age', 'Course']
rows = [
['Vasya', '16', 1],
['Anya', '17', 2],
['Inna', '16', 1],
]
FILE_NAME = 'excel.xlsx'
try:
wb = openpyxl.load_workbook(FILE_NAME)
except:
wb = openpyxl.Workbook()
# Удаление листа, создаваемого по умолчанию, при создании документа
for sheet_name in wb.sheetnames:
sheet = wb.get_sheet_by_name(sheet_name)
wb.remove_sheet(sheet)
# Создание нового листа, названия новых листов будут автоматически инкрементироваться: Students, Students1, Students2, и т.п.
ws = wb.create_sheet('Students')
for i, value in enumerate(columns, 1):
ws.cell(row=1, column=i).value = value
for i, row in enumerate(rows, 2):
for j, value in enumerate(row, 1):
ws.cell(row=i, column=j).value = value
save_workbook(wb, FILE_NAME)
创建文档和填写表格的示例:
几次运行后: