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

2021-11-26 08:48:23 +08:00
 me221

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

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

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

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

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

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

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

我个人觉得 6 楼和 7 楼比较符合项目的场景。我也没用过 mongodb ,等学习后再更新给客户吧

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/818057

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX