想请问一下这个可不可实现:客户在页面上进行 excel 上传导入到数据库表、但是 excel 的模板没有确定,有可能这个月使用的 excel 模板列数只有 50 列上传导入、下个月就有 55 列上传导入到数据库、后端怎么来进行处理、这种表结构好像也要进行改变?
1
fmumu 2019-01-09 10:39:42 +08:00 via Android 1
mongodb,不管什么表结构
|
3
night98 2019-01-09 10:45:49 +08:00 1
存成 json 或 csv 字符串?
|
4
lhx2008 2019-01-09 10:46:16 +08:00 via Android 1
可以强行用列式数据库的储存方式,不过,不适合再查询修改,只能一次导入或者导出
|
9
zhaogaz 2019-01-09 11:00:49 +08:00
需要看入库的东西怎么用。单纯的入库是非常简单的。
最简单,最差劲的处理办法显然就是每次上传 excel,数据库都建一个表。 其他思路,的话,可以直接把文件二进制入库。解析读取内容,组织成表结构(上传 id,行号,列号,实际内容)。把 excel 内容读取到,构造成对象,序列化 json 入库。换成 xml 也行。 |
10
liuxey 2019-01-09 11:02:17 +08:00
最简单的两种方法:
整列存,字段为:row,value (逗号隔开或 json 等字符串格式),10 行数据就有 10 条数据 列转行,字段为:row, column, value(一个单元格的值),10 行 50 列就有 500 条数据 两种方法各有利弊,自己看吧。 |
12
sonyxperia 2019-01-09 11:03:20 +08:00
让用户统一好上传的 excel 格式。
Done. |
13
xiaoxinshiwo 2019-01-09 11:09:47 +08:00
json
|
14
dangluren 2019-01-09 13:13:12 +08:00
|
15
dangluren 2019-01-09 13:13:38 +08:00
目前还缺 excel 和模板表入库,不过我已经开发好了,过两天传上去
|
16
yaerda 2019-01-09 13:24:17 +08:00 via Android
模板列数可变的多不多,如果有些基础信息是固定列的话,以这些作为表结构,把可变的部分再单独存到一个字段,前端展示的时候也可以展示基础固定信息,变化的列动态解析展示
|
17
shustone OP 感谢各位回复
|