V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
me221
V2EX  ›  问与答

求助帖,表格内容不太相同的 Excel 表如何导入数据库

  •  
  •   me221 · 2021-11-26 08:48:23 +08:00 · 1223 次点击
    这是一个创建于 1085 天前的主题,其中的信息可能已经有所发展或是发生改变。

    现在在做一个物业收费系统,技术栈使用的是 Springboot + layui + EasyExcel 。系统是面向多小区的。每个小区的收费项也不同

    例如:A 小区需要收取水电物业费,楼道清洁费
    B 小区需要收取水电物业费,电梯费,路灯费,生活垃圾处理费

    收费项目和收费项目数量都不相同, 为每个小区单独建立一张表不太现实。因为项目第一期就有 10 个小区.......

    请问各位 v 友有什么好的想法吗

    9 条回复    2021-11-26 15:48:37 +08:00
    imzcc
        1
    imzcc  
       2021-11-26 08:54:15 +08:00
    所有收费项目都统计出来,每个小区一个配置,配置开启哪些收费项目(本菜狗 就能想到这么多了)
    noqwerty
        2
    noqwerty  
       2021-11-26 09:18:54 +08:00
    直接三列不行吗?小区,收费项目,金额
    cando
        3
    cando  
       2021-11-26 09:28:52 +08:00
    同二楼 根据费用种类分开存储就好了 你这里才几十条数据
    baobao1270
        4
    baobao1270  
       2021-11-26 09:35:15 +08:00
    建一个收费业务表啊

    bus_code, name, cycle
    1001, 物业费, 1y
    1002, 电梯费, 1y
    1003, 水电费, 1m
    1004, 垃圾处理费, 1y

    这个样子 到时候收费业务表就行了啊
    me221
        5
    me221  
    OP
       2021-11-26 09:41:01 +08:00
    @imzcc 怎么解决配置开启。现在是根据 Excel 表建一个对象,读取到数据之后直接映射到对象,然后插入数据库。单个小区还可以。多小区工作量太大了
    NillSpake
        6
    NillSpake  
       2021-11-26 10:23:08 +08:00
    1 、基本上这些费用,所有小区都有,只是有些不收,到时候如果要收呢。你可以把所有收费项规整在一张宽表。
    2 、配置不同小区的 excel 解析规则,excel 表头与字段的映射关系。
    3 、根据解析规则,生成对应的对象。
    lithiumii
        7
    lithiumii  
       2021-11-26 10:38:58 +08:00 via Android
    eav 模型
    或者换 mongodb 一张表随便怼
    aguesuka
        8
    aguesuka  
       2021-11-26 15:34:29 +08:00
    后端还按 4 楼的做.
    表格先在前端解析, 给客户一个表格预览, 哪些数据属于表头, 哪些列对应什么收费项让客户填.
    选好以后前端传 json 给后台就行了.
    me221
        9
    me221  
    OP
       2021-11-26 15:48:37 +08:00
    由于月底之前要上线。所以将方案改成:给客户提供 Excel 模板(宽表,所有收费项),让用户自己填,不收就留空。

    我个人觉得 6 楼和 7 楼比较符合项目的场景。我也没用过 mongodb ,等学习后再更新给客户吧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4964 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 03:55 · PVG 11:55 · LAX 19:55 · JFK 22:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.