如何设计Excel以方便客户导入到数据库

时间:2020-12-07 15:56:45
一个Excel文件数据导入到SQL Server,这个Excel中的数据是树形结构。

要导入的数据库表有2个,

数据库表A


Id  TypeName  LevelNumber




数据库表B


Id  Level1Name  Level2Name  Level3Name  Level4Name  Level5Name  TypeId



数据库表B的字段TypeId对应数据库表A的字段Id

我要导入到数据库表A中的数据应为:



Id  TypeName  LevelNumber
99      宇宙            4



我要导入到数据库表B中的数据应为:



Id  Level1Name Level2Name Level3Name  Level4Name   Level5Name   TypeId
1      银河系                                                      99   
2      其他星系                                                    99 
3      银河系    天王星                                             99    
4      银河系    海王星                                             99              
5      银河系     土星                                              99
6      银河系     地球                                              99
7      银河系     地球        北美洲                                 99
8      银河系     地球         欧洲                                  99
9      银河系     地球        北美洲       美国                       99
10     银河系     地球         欧洲       土耳其                      99
11     银河系     地球         欧洲       奥地利                      99
12     银河系     地球         欧洲       西班牙                      99



因为这个Excel模版里的Excel数据是要让客户填的,所以要设计得尽量傻瓜些,不能用ParentId这样的模式。

请问该如何设计这个Excel模版以方便客户导入到SQL Server数据库?


8 个解决方案

#1


引用 楼主 scorpio7676 的回复:
因为这个Excel模版里的Excel数据是要让客户填的,所以要设计得尽量傻瓜些,不能用ParentId这样的模式。

请问该如何设计这个Excel模版以方便客户导入到SQL Server数据库?


你到底是方便客户认识和录入,还是方便客户写“导入程序”?客户使程序员吗?



如果你认识到客户就是客户,客户管你什么“导入程序编写起来方便不方便”吗?客户只关心你的前端设计是不是清爽好用。所以设计 Excel 表,要忘掉什么数据库,专心揣摩客户需要的 Excel 表。然后当前端设计定下来之后,再把精力放到技术方面。

这个方式,比你反复纠结底层一点点人人都懂的数据库表、而高层次东西总也拿不定主意,要强得多,更快更明了目的。



如果设计思路是本末倒置的,那么就从根上重新设计。才能知道下一步具体要干什么。只有你自己才知道客户需求、自己能做什么前端,别人不能代替你。而那些整天纠结数据表的人,绝大多数都是在逃避前端设计开发。

#2


你首先要搞明白细节问题:现在到底是要设计客户使用的 Excel 模板,还是要设计“导入程序”的那十几行 c# 代码的流程?

不要用多个问题相互纠结,逃避实质。

#3


引用 2 楼 sp1234 的回复:
你首先要搞明白细节问题:现在到底是要设计客户使用的 Excel 模板,还是要设计“导入程序”的那十几行 c# 代码的流程?

不要用多个问题相互纠结,逃避实质。


要设计客户使用的 Excel 模板

#4


如何设计Excel以方便客户导入到数据库

#5


问题已解决,来人接分。

只有6楼,7楼,8楼,9楼有分,分数都是25分。

#6


接分 如何设计Excel以方便客户导入到数据库

#7


最后怎么处理的?

#8


引用 7 楼 yi_iy 的回复:
最后怎么处理的?


Excel的模式参考数据库表B的表结构来做的,原先我想得太复杂了。

#1


引用 楼主 scorpio7676 的回复:
因为这个Excel模版里的Excel数据是要让客户填的,所以要设计得尽量傻瓜些,不能用ParentId这样的模式。

请问该如何设计这个Excel模版以方便客户导入到SQL Server数据库?


你到底是方便客户认识和录入,还是方便客户写“导入程序”?客户使程序员吗?



如果你认识到客户就是客户,客户管你什么“导入程序编写起来方便不方便”吗?客户只关心你的前端设计是不是清爽好用。所以设计 Excel 表,要忘掉什么数据库,专心揣摩客户需要的 Excel 表。然后当前端设计定下来之后,再把精力放到技术方面。

这个方式,比你反复纠结底层一点点人人都懂的数据库表、而高层次东西总也拿不定主意,要强得多,更快更明了目的。



如果设计思路是本末倒置的,那么就从根上重新设计。才能知道下一步具体要干什么。只有你自己才知道客户需求、自己能做什么前端,别人不能代替你。而那些整天纠结数据表的人,绝大多数都是在逃避前端设计开发。

#2


你首先要搞明白细节问题:现在到底是要设计客户使用的 Excel 模板,还是要设计“导入程序”的那十几行 c# 代码的流程?

不要用多个问题相互纠结,逃避实质。

#3


引用 2 楼 sp1234 的回复:
你首先要搞明白细节问题:现在到底是要设计客户使用的 Excel 模板,还是要设计“导入程序”的那十几行 c# 代码的流程?

不要用多个问题相互纠结,逃避实质。


要设计客户使用的 Excel 模板

#4


如何设计Excel以方便客户导入到数据库

#5


问题已解决,来人接分。

只有6楼,7楼,8楼,9楼有分,分数都是25分。

#6


接分 如何设计Excel以方便客户导入到数据库

#7


最后怎么处理的?

#8


引用 7 楼 yi_iy 的回复:
最后怎么处理的?


Excel的模式参考数据库表B的表结构来做的,原先我想得太复杂了。