簡體   English   中英

我嘗試使用 python openpyxl 在 excel 中創建多個工作表以在循環中存儲不同的值,但它只創建了一張工作表

[英]i tried to create multiple sheets in excel using python openpyxl to store different values in loop, but it creates only one sheet

我嘗試使用 python openpyxl 在 excel 中創建多個工作表以在循環中存儲不同的值,但它只創建了一張工作表。

from datetime import datetime
import openpyxl
from openpyxl.styles import Font

table_name = ["M-1", "M-2", "M-3"]

xltitle = datetime.now()
tit_head = "ALL_MACHINE" + xltitle.strftime("%d_%m_%Y_%H_%M_%S")+".xlsx"

for tab_nam in table_name:

    filepath = tit_head

    headings = ("NAME", "ID", "EMPLOYEE NAME",
                "NUMBER", "START TIME", "STOP TIME")

    wb = openpyxl.Workbook()
    sheet = wb.create_sheet()
    sheet.title = tab_nam

    sheet.row_dimensions[1].font = Font(bold=True)

    for colno, heading in enumerate(headings, start=1):
        sheet.cell(row=1, column=colno).value = heading

    wb.save(filepath)

您在循環的每次迭代中創建一個新工作簿,然后保存它,覆蓋前一個。 您將需要移動工作簿創建並將文件寫入循環之外。 您還可以移動headings的創建,因此不需要每次都重新創建。

像這樣的東西:

filepath = tit_head
headings = ("NAME", "ID", "EMPLOYEE NAME",
            "NUMBER", "START TIME", "STOP TIME")
wb = openpyxl.Workbook()
for tab_nam in table_name:
    sheet = wb.create_sheet()
    sheet.title = tab_nam

    sheet.row_dimensions[1].font = Font(bold=True)

    for colno, heading in enumerate(headings, start=1):
        sheet.cell(row=1, column=colno).value = heading
wb.save(filepath)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM