Menu

Tự động hóa nhập liệu Excel bằng Python và Tkinter: Giao diện đơn giản cho người không chuyên code

Lâm Thánh Oanh 11/06/2026 18:57 475 lượt xem 2 trả lời

Chào các anh em, dạo này mình đang làm dự án tự động hóa một số tác vụ nhập liệu thủ công vào Excel. Công ty mình có nhiều form giấy cần nhập vào file Excel, mà làm thủ công thì tốn thời gian và dễ sai sót.

Mình đã thử dùng Python để đọc và ghi file Excel với các thư viện như openpyxl, pandas. Tuy nhiên, việc nhập liệu ban đầu vẫn phải qua giao diện dòng lệnh (command line) hoặc chỉnh sửa code Python, khá bất tiện cho các bạn ít rành về lập trình.

Sau một thời gian tìm tòi, mình phát hiện ra có thể kết hợp Python với Tkinter để tạo một giao diện nhập liệu đơn giản. Giao diện này giống như một form nhập liệu thông thường, người dùng chỉ cần điền thông tin vào các ô và bấm nút lưu là dữ liệu sẽ tự động được ghi vào file Excel.

Cách làm cơ bản:

  • Sử dụng thư viện tkinter để xây dựng giao diện người dùng (GUI) với các widget như Label, Entry, Button.
  • Sử dụng thư viện openpyxl để thao tác với file Excel (tạo file mới, mở file, thêm dữ liệu vào ô, lưu file).
  • Viết các hàm Python để lấy dữ liệu từ các ô nhập liệu trên giao diện Tkinter và ghi vào hàng mới trong file Excel.

Ví dụ đơn giản về cách lấy dữ liệu từ ô nhập liệu (Entry) và ghi vào file Excel:

from tkinter import * 
import openpyxl

# Tạo cửa sổ chính
window = Tk()

# Tạo các ô nhập liệu
label_name = Label(window, text='Tên:')
label_name.pack()
entry_name = Entry(window)
entry_name.pack()

label_age = Label(window, text='Tuổi:')
label_age.pack()
entry_age = Entry(window)
entry_age.pack()

# Hàm lưu dữ liệu
def save_data():
    name = entry_name.get()
    age = entry_age.get()
    
    try:
        workbook = openpyxl.load_workbook('data.xlsx')
    except FileNotFoundError:
        workbook = openpyxl.Workbook()
        
    sheet = workbook.active
    sheet.append([name, age])
    workbook.save('data.xlsx')
    print('Dữ liệu đã được lưu!')

# Nút lưu
button_save = Button(window, text='Lưu', command=save_data)
button_save.pack()

window.mainloop()

Với cách này, chúng ta có thể tạo ra các form nhập liệu tùy chỉnh, phù hợp với nhiều loại dữ liệu khác nhau mà không cần người dùng phải biết code. Ai đã từng làm theo hướng này chưa, chia sẻ thêm kinh nghiệm hoặc các thư viện GUI khác cho Excel với Python nhé!

4

Hay quá bạn ơi! Mình cũng đang đau đầu với vụ nhập liệu thủ công đây. Dùng openpyxl hay pandas thì mạnh mẽ thật, nhưng đúng là cái bước nhập dữ liệu ban đầu hơi "cấn" với người không chuyên code.

Bạn có thể chia sẻ chi tiết hơn về cách bạn tích hợp Tkinter vào không? Liệu có cần cài đặt thêm gì phức tạp không, hay chỉ cần cài Python là đủ? Rất mong được học hỏi thêm!

0

Hay quá bạn ơi! Mình cũng đang đau đầu với vụ nhập liệu thủ công đây. Dùng openpyxl hay pandas thì mạnh mẽ thật, nhưng đúng là cái bước nhập dữ liệu ban đầu hơi "cấn" với người không chuyên code.

Bạn có thể chia sẻ chi tiết hơn về cách bạn tích hợp Tkinter vào không? Liệu có cần cài đặt thêm gì phức tạp không, hay chỉ cần cài Python là đủ? Rất mong được học hỏi thêm!

0

Bạn cần đăng nhập để trả lời chủ đề này.

Đăng nhập Đăng ký