在没有后台管理系统的时候,有时候为了方便起见,想提供一个输入框让运营人员直接输入,然后数据就会以数据库的形式存进数据库
效果图:
输入用户名
输入数据
输入信息后点击添加到表格,检查后方便批量保存到excel
代码
import tkinter as tk
from tkinter import ttk, messagebox, simpledialog, filedialog
from tkcalendar import DateEntry
import pandas as pd
import os
# 全局变量保存用户名
cached_username = None
# 保存到 Excel 的函数
def save_to_excel():
table_name = table_name_var.get()
if not table_name:
messagebox.showwarning("输入错误", "请填写表名!")
return
# 获取表格数据
rows = tree.get_children()
if not rows:
messagebox.showwarning("数据错误", "没有可保存的数据!")
return
# 收集表格数据
new_data = []
for row in rows:
new_data.append(tree.item(row)["values"])
# 转为 DataFrame
new_df = pd.DataFrame(new_data, columns=["日期", "产品线", "SKU", "数量", "用户"])
# 指定保存的文件路径
file_path = filedialog.asksaveasfilename(
defaultextension=".xlsx",
filetypes=[("Excel Files", "*.xlsx")],
title="选择保存路径",
initialfile="database.xlsx"
)
if not file_path:
return
# 检查文件是否存在并累加数据
if os.path.exists(file_path):
try:
# 读取现有数据
with pd.ExcelWriter(file_path, mode="a", engine="openpyxl", if_sheet_exists="overlay"