找回密码
 立即注册

QQ登录

只需一步,快速开始

gaoshoucheng 活字格认证

金牌服务用户

14

主题

34

帖子

278

积分

金牌服务用户

积分
278

活字格认证

QQ
gaoshoucheng 活字格认证
金牌服务用户   /  发表于:2018-12-1 18:49  /   查看:14082  /  回复:17
大家好,不知有没有人遇到过从Excel文件到系统的导入过程中,涉及批量数据处理或者数据量过大时造成前台页面假死或卡死,也许这篇帖子会是你的福音。
经过本人团队与活字格工程师胡耀、瑞瑞反复沟通,解决了当下我遇到的最大的难题。
需求背景:物流公司的订单管理系统   使用外联数据库 SQL SERVER 2008 R2 SP3   
需求内容:单个Excel处理量20000行,共计46列字段 ,根据数据库其他表的内容需要UPDATE对应字段做一些校验匹配
当前问题:前段导入Excel数据量大,在提交表格的过程中,大约需要1分钟前后(根据客户机的上行带宽不同时间略有不同),前台做了校验匹配,更是雪上加霜。
解决方案:
需要的工具或技能:
1:AccessDatabaseEngine.exe   SQL SERVER数据库链接Excel的一款官方接口文件(区分64位和32位   )
安装完毕后 打开SQL SERVER  数据库   会出现一个新的访问接口 Microsoft.ACE.OLEDB.12.0 如果是 出现Microsoft.ACE.OLEDB.4.0   证明你下载的版本不对噢!

2:活字格前段页面调用存储过程   
新的解决方案会使用附件上传功能,配合一些前台代码的方式,截取文件名,通过参数形式调用后台存储过程进行数据查询和INSERT 插入工作 ,所以如果要使用该解决方案,需要会使用活字格调用存储过程
具体案例参照:https://gcdn.grapecity.com.cn/fo ... 6%B4%A2%B9%FD%B3%CC
或者直接在论坛中搜索“存储过程”
3:上传文件并通过上传过程截取对应的文件名称显示到页面上
具体操作参照: 导入上传Excel附件.fgcc (520.65 KB, 下载次数: 464)
image.png647965087.png

评分

参与人数 6金币 +666 满意度 +25 收起 理由
周冬景 + 5
amtath + 5
lwsammi + 5 赞一个!
伤疤也微笑 + 5 很给力!
Simon.hu + 666 赞一个!
My.yu + 5

查看全部评分

17 个回复

正序浏览
宋小猫悬赏达人认证
中级会员   /  发表于:2019-4-12 16:49:28
推荐
进来看看 看不懂默默的离开了 等我有能力看懂的时候再来吧
回复 使用道具 举报
Simon.hu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2019-4-12 17:11:37
推荐
宋小猫 发表于 2019-4-12 16:49
进来看看 看不懂默默的离开了 等我有能力看懂的时候再来吧

一个产品,必须有大家普通功能,晋级功能,高级功能
这样玩起来才有意思嘛~
回复 使用道具 举报
和家
初级会员   /  发表于:2022-3-25 11:05:15
18#
进来看看 看不懂默默的离开了 等我有能力看懂的时候再来吧
回复 使用道具 举报
Simon.hu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2021-4-25 10:39:06
17#
搞成文件写SQL读取一定是最快的
你这前端捣腾进来,已经耗时,你试试把他先保存到服务器上,然后后端导入
但是目前我们只要导入CSV的后端功能,你看看能不能客克服一下
回复 使用道具 举报
515275362
中级会员   /  发表于:2021-4-23 14:41:59
16#
image.png928457031.png    image.png578234862.png 这是单单导入一个excel数据7个字段,13000条记录到页面一个空表格什么逻辑判断也没做,所耗费的时间和内存,有快速省内存的好方法吗?
回复 使用道具 举报
515275362
中级会员   /  发表于:2021-4-23 14:29:24
15#
本帖最后由 515275362 于 2021-4-23 14:31 编辑
515275362 发表于 2021-4-23 14:20
如果不是外联数据库,类似问题该怎么解决?外层循环遍历2万条数据的表格,内层遍历100条数据的表格,然后做 ...

补充:循环命令能不能在服务端做,前端做太浪费时间了,先从百万数据中筛出2万条左右的数据这就很耗费时间,而且必须显示筛出来的全部数据(不能不能遍历判断)。在加上遍历判断完了,内存飙升浏览器假死,而且要等接近半小时才能全遍历完成,这该怎么破,必须恶补服务端命令加存储过程?主要不知道这时间和内存都耗在哪了   大神救救我吧
回复 使用道具 举报
515275362
中级会员   /  发表于:2021-4-23 14:20:18
14#
如果不是外联数据库,类似问题该怎么解决?外层循环遍历2万条数据的表格,内层遍历100条数据的表格,然后做些比较,然后我的浏览器占用内存就狂飙,最多能飙到3-4g,各位大神这改怎么解决?    image.png266563719.png image.png653493957.png
回复 使用道具 举报
Simon.hu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2019-4-17 09:10:35
13#

你咋开始水贴了?
回复 使用道具 举报
cg6207悬赏达人认证 活字格认证
金牌服务用户   /  发表于:2019-4-16 21:11:41
12#
高老板威武
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 立即注册
返回顶部