找回密码
 立即注册

QQ登录

只需一步,快速开始

毛毛
金牌服务用户   /  发表于:2024-3-5 08:51  /   查看:573  /  回复:1
本帖最后由 毛毛 于 2024-3-5 09:02 编辑

某客户每周需要将Excel中的数据导入到MSSQL中,Excel中只有1个sheet,其中有大约5万条数据,每行数据7个字段。

使用官方的"导入Excel数据到表格"插件效率太低,web页面会卡死,只能另寻他路了,下面说一下解决步骤。

会用到以下两个插件
image.png355418395.png    image.png647300414.png

1、在数据库中创建一个文件上传的表,字段1为ID主键自增,字段2为文件名。至于为什么要建这个表,主要是为了取到上传文件的完整路径供后续使用。

2、在表格中选中一片单元格区域设置为FilePreviewer类型,绑定上一步建立数据表中的文件名字段,限制上传文件扩展名为xlsx和xls,最大个数为1

image.png514758605.png    image.png578718261.png

3、创建服务端命令,设置两个变量,目录为服务端设置的存储路径+应用名称。比如我服务端设置的终端用户上传文件的根目录为D:\Forguncy\upload,应用名为test,那么我就将目录这个变量设置为D:\Forguncy\upload\test\
image.png646514892.png    image.png496389464.png

文件名的变量我们就要从数据库中取了,按照ID降序排列,保证取到的就是最近上传的文件名(该业务场景只有一个用户上传,不存在多用户同时上传的情况)
image.png701773376.png

4、配置插件信息
image.png875887451.png

5、前端导入按钮配置命令,先将上传文件的文件名写入数据库表(一定要写入表,否则文件只会保存在存储路径下的temp目录中,可能会被系统清空)再调用服务端命令将Excel中的数据写入数据库
image.png793800353.png

使用:
先点上传按钮,选中需要上传的Excel文件,再点导入按钮,数据就能被写入数据库中。
image.png236049193.png

测试结果:
实测导入5万条数据耗时3秒。

注意:必须将应用发布至服务器,本地调试会提示找不到文件。




总结:
总体来说配置还是稍显麻烦,并且只支持MSSQL数据库,希望官方后续能优化Excel数据导入数据库的功能,能够简单易用,兼容多种数据库同时还拥有良好的性能。这个需求对于活字格开发团队来说应该是小菜一碟吧

评分

参与人数 3金币 +66 满意度 +10 收起 理由
凄美地 + 5
妄想社成员 + 5
Lay.Li + 66 赞一个!

查看全部评分

1 个回复

倒序浏览
hubei333
高级会员   /  发表于:2024-3-5 10:07:35
沙发
实用!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部