python 寫一個物料進出管理的GUI窗口,用excel做存儲
时间: 2023-07-21 16:24:35 浏览: 50
好的,可以使用Python的GUI库Tkinter来编写窗口界面,使用xlwt和xlrd模块来读写Excel文件。下面是一个简单的示例代码,仅供参考:
```python
import tkinter as tk
import xlwt
import xlrd
class MaterialManagement:
def __init__(self):
# 创建窗口
self.window = tk.Tk()
self.window.title('物料进出管理')
# 创建标签和输入框
tk.Label(self.window, text='物料名称:').grid(row=0, column=0)
self.name_entry = tk.Entry(self.window)
self.name_entry.grid(row=0, column=1)
tk.Label(self.window, text='数量:').grid(row=1, column=0)
self.amount_entry = tk.Entry(self.window)
self.amount_entry.grid(row=1, column=1)
# 创建按钮
tk.Button(self.window, text='入库', command=self.material_in).grid(row=2, column=0)
tk.Button(self.window, text='出库', command=self.material_out).grid(row=2, column=1)
tk.Button(self.window, text='保存记录', command=self.save_records).grid(row=3, column=0)
tk.Button(self.window, text='读取记录', command=self.load_records).grid(row=3, column=1)
# 创建Excel文件
self.workbook = xlwt.Workbook(encoding='utf-8')
self.sheet = self.workbook.add_sheet('物料记录')
self.sheet.write(0, 0, '物料名称')
self.sheet.write(0, 1, '数量')
self.row = 1
def material_in(self):
name = self.name_entry.get()
amount = int(self.amount_entry.get())
self.sheet.write(self.row, 0, name)
self.sheet.write(self.row, 1, amount)
self.row += 1
self.name_entry.delete(0, tk.END)
self.amount_entry.delete(0, tk.END)
def material_out(self):
name = self.name_entry.get()
amount = -int(self.amount_entry.get())
self.sheet.write(self.row, 0, name)
self.sheet.write(self.row, 1, amount)
self.row += 1
self.name_entry.delete(0, tk.END)
self.amount_entry.delete(0, tk.END)
def save_records(self):
filename = 'material_records.xls'
self.workbook.save(filename)
tk.messagebox.showinfo('提示', '记录保存成功!')
def load_records(self):
filename = 'material_records.xls'
try:
self.sheet = xlrd.open_workbook(filename).sheet_by_name('物料记录')
tk.messagebox.showinfo('提示', '记录读取成功!')
except:
tk.messagebox.showerror('错误', '记录读取失败!')
def run(self):
self.window.mainloop()
if __name__ == '__main__':
mm = MaterialManagement()
mm.run()
```
在这个示例中,我们创建了一个名为MaterialManagement的类,其中包括了物料进出管理的各个功能,包括入库、出库、保存记录和读取记录。在入库和出库操作中,我们将物料名称和数量写入Excel文件中。在保存记录和读取记录操作中,我们使用xlwt和xlrd模块来读写Excel文件。运行该程序后,将会显示一个GUI窗口,用户可以在窗口中输入物料名称和数量,然后点击入库或出库按钮来进行对应的操作。点击保存记录按钮可以将记录保存到Excel文件中,点击读取记录按钮可以从Excel文件中读取记录。