找回密码
 立即注册

QQ登录

只需一步,快速开始

xiwu

中级会员

97

主题

445

帖子

910

积分

中级会员

积分
910

活字格认证

xiwu
中级会员   /  发表于:2018-3-12 11:16  /   查看:4847  /  回复:10
excel导入时,若有数据已经存在,则会中断操作。现想实现:导入时以某些列判断,若数据已经存在,则忽略本条数据,后面的数据继续判断。达到只导入原表中不存在的数据

10 个回复

倒序浏览
xiwu
中级会员   /  发表于:2018-3-13 08:52:21
推荐
谢谢,先试试
回复 使用道具 举报
Eric.Liang讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2018-3-12 16:12:40
沙发
页面中添加导入按钮导入Excel数据至数据库中,重复数据不导入,这种方式我们需要一个中间表,在导入数据时先把Excel表中的数据导入到中间表中,然后比对中间表和数据库表中的数据是否重复,不重复进行导入,重复不做任何操作。操作方式如下:
1.添加中间表,绑定数据库表字段。设置表格查询条件ID<0,保证页面加载时中间表为空。



2.添加两个按钮,导入中间表按钮和导入数据按钮。导入中间表按钮用于将Excel中的数据导入到中间表中,导入数据按钮用于将中间表中不重复的数据导入到数据库中。
并添加一个TEXTJOIN函数,来记录数据库中的所有唯一字段,用于和中间表中的数据进行比对。


3.给“导入到中间表”按钮添加Excel导入命令。将Excel数据导入到中间表中。


4.给“导入数据”按钮添加循环命令,判断中间表中的每一行数据的唯一字段是否在第2步TEXTJOIN函数记录的数据库字段中。若存在,则不做任何操作,若不存在,则将中间表的该行数据添加到数据库表中。循环结束之后提交表格。


5.根据上述操作,我做了一个导入学生成绩表的Demo,工程文件见附件。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
xiwu
中级会员   /  发表于:2018-3-12 17:25:25
板凳
追问:以上方式需要用户操作两步吗?先点“导入中间表”,再点“导入数据”,这样做用户体验应该不会好吧
回复 使用道具 举报
Eric.Liang讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2018-3-12 17:56:58
地板
本帖最后由 Eric.Liang 于 2018-3-12 18:07 编辑
xiwu 发表于 2018-3-12 17:25
追问:以上方式需要用户操作两步吗?先点“导入中间表”,再点“导入数据”,这样做用户体验应该不会好吧

针对上述描述,我将这个功能做了优化。1.移除导入数据按钮,将该按钮变成文本框,默认使用COUNTA函数计算中间表的行数。


2.修改该文本框命令,在外层多加一层判断,若中间表中的行数不等于0,则执行导入数据操作。


3.在实际操作中可以将右侧中间表和辅助文本框全部隐藏。

工程文件见附件。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Eric.Liang讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2018-3-13 08:58:24
6#

不客气
回复 使用道具 举报
Eric.Liang讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2018-3-13 08:58:32
7#

不客气
回复 使用道具 举报
cg6207悬赏达人认证 活字格认证
金牌服务用户   /  发表于:2018-3-13 10:31:03
8#
建议加入




可极大的提高运行效能

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Eric.Liang讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2018-3-13 10:54:04
9#

大佬
回复 使用道具 举报
xiwu
中级会员   /  发表于:2018-3-13 13:24:17
10#
非常感谢
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部