Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Cách mở file Excel trong Treeview Tkinter


Hiển thị dữ liệu Excel (.xlsx) trong Treeview Tkinter dùng Pandas đọc file và điền vào Treeview.

  • Import numpy, pandas, filedialog.
  • Tạo Menu "Open Spreadsheet" gọi hàm open_file().
  • Hàm đọc file Excel bằng pd.read_excel(), xóa Treeview cũ, thêm cột và hàng mới.

Ví dụ minh họa

from tkinter import *
from tkinter import ttk, filedialog
import numpy
import pandas as pd

win = Tk()
win.geometry("700x350")

style = ttk.Style()
style.theme_use('clam')

frame = Frame(win)
frame.pack(pady=20)

def open_file():
    filename = filedialog.askopenfilename(title="Open a File", filetypes=[("Excel files", "*.xlsx"), ("All Files", "*.*")])
    if filename:
        try:
            df = pd.read_excel(filename)
        except ValueError:
            label.config(text="Không thể mở file")
            return
        except FileNotFoundError:
            label.config(text="File không tồn tại")
            return
        clear_treeview()
        tree["column"] = list(df.columns)
        tree["show"] = "headings"
        for col in tree["column"]:
            tree.heading(col, text=col)
        df_rows = df.to_numpy().tolist()
        for row in df_rows:
            tree.insert("", "end", values=row)
        tree.pack()

def clear_treeview():
    tree.delete(*tree.get_children())

tree = ttk.Treeview(frame)

m = Menu(win)
win.config(menu=m)
file_menu = Menu(m, tearoff=False)
m.add_cascade(label="Menu", menu=file_menu)
file_menu.add_command(label="Open Spreadsheet", command=open_file)

label = Label(win, text='')
label.pack(pady=20)

win.mainloop()

Kết quả đầu ra

Cửa sổ có menu mở file Excel.

Cách mở file Excel trong Treeview Tkinter

Sau khi chọn file, dữ liệu hiển thị trong Treeview.

Cách mở file Excel trong Treeview Tkinter