javascript - 上传excel,然后把数据插入到数据库中,需要实时返回处理数据的进度
ringa_lee
ringa_lee 2017-04-11 11:19:19
[JavaScript讨论组]

上传excel,然后把数据插入到数据库中,需要实时返回处理数据的进度,文件不是很大,但是数据比较多,求思路。

ringa_lee
ringa_lee

ringa_lee

全部回复(5)
PHP中文网

先上传excel表格文件,记录文件存放路径存入队列list1;
服务器建立定时器,用队列(redis)处理表格数据(入库);
进度的话我只试过把不合规的数据再次出列记录下来,其它的都“成功”;

Tips:phpExcel可以处理excel表/用队列去处理主要是不要让用户等太久,毕竟插入数据库的数据很多

巴扎黑

题主更属意websocket的话,推荐一个框架 webbit
参考资料
webbit 简单使用

怪我咯

我们还是采取了websocket的方式,在文件上传完毕之后会开启websocket监听,每一秒钟发一次请求返回百分比

阿神

excel处理是比较麻烦,主要是两部分比较耗时,解析excel,还有就是存储,存储这块不比较还好,如果需要和库里对比就太慢了。
第一部分可以采用https://git.oschina.net/xavie... 目前只支持XLS,速度快,占用内存小,几M的小文件毫无压力,处理十几兆都很快。

第二个部分这个么办法。

然后回答题主,执行之前可以在redis或者其他缓存中写入状态,表示正在执行。然后由于知道excel总行数,可以每插入一行,修改一下缓存中插入数据的数量。
另外一个页面做查询状态接口,根据当前执行了多少行就知道百分比了
前台做轮询或者websocket查询这个页面获取数据

迷茫

最简单的方式,接收到文件,新开线程去处理,然后返回一个唯一键,可以是生成的临时文件名,把进度信息放在缓存里,用唯一键作为key,前端上传成功得到唯一键,然后定时想后端请求,带上这个key查询进度信息就好了

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号