有没有Python大神知道如何把自定义内容填写至合并的工作簿sheet1工作表C1单元格中。求指点

import tkinter as tk
from tkinter import filedialog
from openpyxl import Workbook, load_workbook

class ExcelMerger:
    def __init__(self, master):
        self.master = master
        self.master.title("Excel Merger")

        self.file_list = []
        self.main_file = None
        self.custom_content = ""
        self.save_path = ""

        # 子文件列表输入框
        self.file_list_var = tk.StringVar()
        tk.Label(master, text="子Excel文件列表:").grid(row=0, column=0, sticky="w")
        tk.Entry(master, textvariable=self.file_list_var, width=60).grid(row=0, column=1, columnspan=3)
        tk.Button(master, text="选择文件", command=self.add_files).grid(row=0, column=4)

        # 主文件选择输入框
        self.main_file_var = tk.StringVar()
        tk.Label(master, text="主Excel文件:").grid(row=1, column=0, sticky="w")
        tk.Entry(master, textvariable=self.main_file_var, width=60).grid(row=1, column=1, columnspan=3)
        tk.Button(master, text="选择文件", command=self.choose_main_file).grid(row=1, column=4)

        # 自定义内容输入框
        self.content_var = tk.StringVar()
        tk.Label(master, text="自定义内容:").grid(row=2, column=0, sticky="w")
        tk.Entry(master, textvariable=self.content_var, width=60).grid(row=2, column=1, columnspan=3)

        # 另存为路径输入框
        self.save_path_var = tk.StringVar()
        tk.Label(master, text="合并后文件保存路径:").grid(row=3, column=0, sticky="w")
        tk.Entry(master, textvariable=self.save_path_var, width=60).grid(row=3, column=1, columnspan=3)
        tk.Button(master, text="选择路径", command=self.choose_save_path).grid(row=3, column=4)

        # 合并按钮
        tk.Button(master, text="合并", command=self.merge_files).grid(row=4, column=2)

    def add_files(self):
        files = filedialog.askopenfilenames(filetypes=[("Excel文件", "*.xlsx")])
        if files:
            self.file_list.extend(files)
            self.file_list_var.set("\n".join(self.file_list))

    def choose_main_file(self):
        file = filedialog.askopenfilename(filetypes=[("Excel文件", "*.xlsx")])
        if file:
            self.main_file = file
            self.main_file_var.set(file)

    def choose_save_path(self):
        path = filedialog.askdirectory()
        if path:
            self.save_path = path
            self.save_path_var.set(path)

    def merge_files(self):
        if not self.main_file or not self.save_path:
            tk.messagebox.showerror("错误", "请选择主文件和保存路径!")
            return
        if not self.file_list:
            tk.messagebox.showerror("错误", "请选择要合并的文件!")
            return

        main_wb = load_workbook(self.main_file)
        if 'Sheet1' in main_wb.sheetnames:
            main_wb.remove(main_wb['Sheet1'])
        for f in self.file_list:
            wb = load_workbook(f)
            ws_name = wb.sheetnames[0]
            ws = wb[ws_name]
            main_ws = main_wb.create_sheet(ws_name)
            for row in ws.rows:
                main_ws.append([cell.value for cell in row])
            if self.custom_content:
                main_ws['Sheet!C1'] = self.custom_content
            main_wb.save(f"{self.save_path}/{f.split('/')[-1]}")
            main_wb.remove(main_ws)

if __name__ == "__main__":
    root = tk.Tk()
    app = ExcelMerger(root)
    root.mainloop()
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!