由Excel导入数据,导入前需要对其进行分类(用户手动勾选),类别也在这个时候按用户喜好进行添加,但这个时候用户可能退出系统,但要求下次登录还能继续操作或取消(即恢复到导入前状态)。遇到3个难题:
1.分类本身不存在,在哪个步骤添加分类比较好?(要求添加了分类就必须给这个分类导入数据)
2.在勾选了部分数据后,突然用户想按数据时间进行排序(默认是ID排序,一旦排序就意味着刷新页面,之前勾选的就等于没勾),勾选的数据如何保存其状态?(每次导入约几千条数据)
3.如何防止导入重复数据?因为数据量较大(指已有数据,不是导入时的数据),逐一判断很耗时间,有没有比较好的方法?

解决方案 »

  1.   

    1.分类本身不存在,在哪个步骤添加分类比较好?(要求添加了分类就必须给这个分类导入数据)---
    在你提交数据的前肯定就比较好了吧。并给出提示必须导入数据,否则产生严重后果。2.在勾选了部分数据后,突然用户想按数据时间进行排序(默认是ID排序,一旦排序就意味着刷新页面,之前勾选的就等于没勾),勾选的数据如何保存其状态?(每次导入约几千条数据)
    ----
    这个可以用HASHTABLE来存储起来,然后他刷新页面前遍历一次勾选,全部存储到HASHTABLE里面,刷新完毕检测HASHTABLE是否为空,不为空则遍历选中,根据的条件肯定是主键。3.如何防止导入重复数据?因为数据量较大(指已有数据,不是导入时的数据),逐一判断很耗时间,有没有比较好的方法?
    -------------
    没有更好的办法 只有一条一条的去判断 对比,不过你可以导入的时候不中断导入,做个循环然后记录有重复的,待导入完毕后给用户提示那些没有导入进去。比较好的办法创建视图 存储过程等进行比较。
      

  2.   

    2.在勾选了部分数据后,突然用户想按数据时间进行排序(默认是ID排序,一旦排序就意味着刷新页面,之前勾选的就等于没勾),勾选的数据如何保存其状态?(每次导入约几千条数据)
    -----------------------------------------------------------
    用隐藏域(input runat="server" type="hidden")保存勾选的ID,在加载数据的时候在读取这些ID并选中保存的ID
      

  3.   

    先从Excel导入到副表中,在从副表中导入。
    在导入过程中判断,将导入成功的从副表中删除!