鱼C论坛

 找回密码
 立即注册
查看: 1918|回复: 2

[作品展示] 客户管理系统

[复制链接]
发表于 2020-8-21 10:25:10 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
废话少说直接上代码
  1. import os.path

  2. import openpyxl
  3. from openpyxl.styles import Alignment


  4. # 创建excel表格
  5. def create():
  6.     # 创建excel表格
  7.     wb = openpyxl.Workbook()
  8.     ws = wb.active
  9.     # 设置格式
  10.     al = Alignment(
  11.         horizontal='left',  # 水平方向:center, left, right
  12.         vertical='center'  # 垂直方向: center, top, bottom
  13.     )
  14.     for cell in ws['A']:
  15.         cell.number_format = '@'
  16.     ws['A1'].alignment = al
  17.     ws.column_dimensions['A'].width = 20
  18.     ws['B1'].alignment = al
  19.     ws['C1'].alignment = al
  20.     ws['D1'].alignment = al
  21.     ws['E1'].alignment = al
  22.     # 添加信息
  23.     ws['A1'] = '身份证件号'
  24.     ws['B1'] = '姓名'
  25.     ws['C1'] = '房间号'
  26.     ws['D1'] = '房费'
  27.     ws['E1'] = '押金'
  28.     # 保存
  29.     wb.save('信息表.xlsx')


  30. # 查询住户信息
  31. def Inquire():
  32.     """

  33.     :rtype: object
  34.     """
  35.     wb = openpyxl.load_workbook('信息表.xlsx')
  36.     my_sheet = wb.worksheets[0]
  37.     # 循环每一行除了表头
  38.     for row in my_sheet:
  39.         ID = row[0]  # 身份证所在的列
  40.         product_value = ID.value
  41.         product_value1 = str(product_value)
  42.         while True:
  43.             Ch = input("请输入身份证件号:")
  44.             if product_value1 == Ch:
  45.                 if product_value != '身份证件号':
  46.                     price_column = row[0]  # 身份证所在的列
  47.                     ID_card = price_column.value
  48.                     price_column = row[1]  # 姓名所在的列
  49.                     name = price_column.value
  50.                     price_column = row[2]  # 房间号所在的列
  51.                     room_number = price_column.value
  52.                     price_column = row[3]  # 房费所在的列
  53.                     Room_rate = price_column.value
  54.                     price_column = row[4]  # 押金所在的列
  55.                     deposit = price_column.value
  56.                     print(f"身份证件号:{ID_card} 姓名:{name} 房间号:{room_number} 房费:{Room_rate} 押金:{deposit}")
  57.                 break
  58.             else:
  59.                 print("没有该用户")


  60. # 修改住户信息
  61. def modify():
  62.     while True:
  63.         wb = openpyxl.load_workbook('信息表.xlsx')
  64.         ws = wb.active
  65.         my_sheet = wb.worksheets[0]
  66.         # 循环每一行除了表头
  67.         Ch = Inquire()
  68.         Ch1 = input("再次确认修改住户信息(是/否):")
  69.         if Ch1 == "是":
  70.             # 循环第一个列表
  71.             for row in my_sheet:
  72.                 ID = row[0]
  73.                 product_value = ID.value
  74.                 product_value1 = str(product_value)
  75.                 # 判断与用户输入进行判断
  76.                 if product_value1 == Ch:
  77.                     ID1 = str(ID)
  78.                     data = []
  79.                     data1 = ['A', 'B', 'C', 'D', 'E']
  80.                     information = ["身份证件号:", "姓名:", "房间号:", "房费:", "押金:"]
  81.                     j = 0
  82.                     for i in ID1:
  83.                         data.append(i)
  84.                     del data[:15]
  85.                     data = data[0:-1]
  86.                     # 判断列表有是一位还是两位
  87.                     if len(data) == 2:
  88.                         for i in data1:
  89.                             name = i + data[0] + data[1]
  90.                             ws[name] = input(information[j])
  91.                             j += 1
  92.                     else:
  93.                         for i in data1:
  94.                             name = i + data[0]
  95.                             ws[name] = input(information[j])
  96.                             j += 1
  97.             for cell in ws['A']:
  98.                 cell.number_format = '@'
  99.             wb.save('信息表.xlsx')
  100.             break
  101.         elif Ch1 == "否":
  102.             break


  103. # 添加住户
  104. def Add_to():
  105.     # 打开excel表格
  106.     wb = openpyxl.load_workbook('信息表.xlsx')
  107.     # 获取最后一行并加一行
  108.     sheet = wb['Sheet']
  109.     max_row = sheet.max_row
  110.     line = max_row + 1
  111.     # 输入数据
  112.     num = input("身份证件号:")
  113.     name = input("姓名:")
  114.     num2 = input("房间号:")
  115.     num3 = input("房费:")
  116.     num4 = input("押金:")
  117.     # 导入到excel表格里
  118.     sheet.cell(line, 1).value = num
  119.     sheet.cell(line, 2).value = name
  120.     sheet.cell(line, 3).value = num2
  121.     sheet.cell(line, 4).value = num3
  122.     sheet.cell(line, 5).value = num4
  123.     # 保存
  124.     wb.save('信息表.xlsx')


  125. # 删除住户
  126. def delete():
  127.     Ch = Inquire()
  128.     Ch1 = input("再次删除住户信息(是/否):")
  129.     wb = openpyxl.load_workbook('信息表.xlsx')
  130.     ws = wb.active
  131.     my_sheet = wb.worksheets[0]
  132.     while True:
  133.         if Ch1 == "是":
  134.             # 循环第一个列表
  135.             for row in my_sheet:
  136.                 ID = row[0]
  137.                 product_value = ID.value
  138.                 product_value1 = str(product_value)
  139.                 # 判断与用户输入进行判断
  140.                 if product_value1 == Ch:
  141.                     # 因为本人能力有限只可以用获取到单元格的位置然后获取到数字然后进行删除
  142.                     ID1 = str(ID)
  143.                     data = []
  144.                     for i in ID1:
  145.                         data.append(i)
  146.                     del data[:15]
  147.                     data = data[0:-1]
  148.                     # 判断列表有是单还是双
  149.                     if len(data) == 2:
  150.                         name = int(data[0] + data[1])
  151.                         ws.delete_rows(name)
  152.                     else:
  153.                         name = int(data[0])
  154.                         ws.delete_rows(name)
  155.             # 保存
  156.             wb.save("信息表.xlsx")
  157.             print("已删除")
  158.             break
  159.         elif Ch1 == "否":
  160.             break
  161.         else:
  162.             print("没有该用户的信息")


  163. # 选择
  164. def select():
  165.     while True:
  166.         print("1:查询住户信息  2:修改住户信息 3:添加住户 4:删除住户 5:退出")
  167.         Ch = input("请选择:")
  168.         if Ch == "1":
  169.             Inquire()
  170.             continue
  171.         elif Ch == "2":
  172.             modify()
  173.             continue
  174.         elif Ch == "3":
  175.             Add_to()
  176.             continue
  177.         elif Ch == "4":
  178.             delete()
  179.             continue
  180.         elif Ch == "5":
  181.             break
  182.         else:
  183.             print("输入错误")


  184. # 判断是否有信息表
  185. if not os.path.exists('信息表.xlsx'):
  186.     create()
  187.     print("创建成功")
  188.     Add_to()
  189. else:
  190.     select()
复制代码

写的有点菜,还在慢慢完成
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

头像被屏蔽
发表于 2020-8-22 15:41:01 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-22 16:59:50 | 显示全部楼层
为什么添加信息后查询和删除的时候显示无用户,表格里确实有了用户
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-26 02:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表