Download the PHP package tiderjian/qs-grid-import without Composer
On this page you can find all versions of the php package tiderjian/qs-grid-import. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download tiderjian/qs-grid-import
More information about tiderjian/qs-grid-import
Files in tiderjian/qs-grid-import
Informations about the package qs-grid-import
介绍
在实际项目中,经常能遇到用户想用excel导入数据的场景。而通过excel编辑的数据很难控制数据的准确性和规范性。 而Grid-import要求用户先将excel数据导入系统,系统会自动转换出对应的web表格数据,让用户编辑和查看对应的出错提示,提交导入系统。 从而将不可控数据转变成可控的过程。
特点
- 采用ant组件开发
- 理论上支持无限嵌套子母表
- 自动完成excel到grid格式的转换,开发者仅需关心业务逻辑接口
- qs-excel完成excel的操作, gridImport仅关心web表格生成和完成两个组件间不同的数据格式转换
- 支持导出excel错误信息,可批量更正后重新导入
安装
截图
将excel数据转换成web grid
导入出错错误提示
错误提示2
导入成功,确定跳转
用法
定义表格配置
-
unique 唯一设置
设置哪些字段必须是唯一的,否则报错,可以是复合字段设置。
设置类型数组,设置值为data 配置对应的key
-
data 配置值
- title 标题
- key 列关键字
- type 列类型
- required 是否必填
- validate_callback 验证回调
- width 列宽度百分比
- validate_err_msg 自定义类型验证错误提示
-
代码示例
- children 子母表配置
列类型
-
CellType::INPUT 单行输入框
-
CellType::DATE 日期 (格式: 2021-06-17)
-
CellType::INPUTNUMBER 数字
- CellType::SELECT 下拉选择
类型为下拉选择是,配置值必须设置 options 下拉值,格式为键值对的数组
PS. 除INPUT类型外,其余类型都在提交时会对提交值分别进行类型有效性验证
-
CellType::MULTI_SELECT 多选
设置方法同 CellType::SELECT 唯一的区别是excel是文本输入类型,以半角英文逗号分隔
独有设置 ignore
- CellType::DATETIME 日期+时间(格式: 2021-06-17 12:30:30)
是否必填
支持2种设置类型
-
布尔值
true表示必填,false表示非必填,默认为false
-
闭包函数
可通过该机制动态决定是否为必填项
- 第一个参数为该单元格值
- 第二个参数为该行的所有值
验证回调
仅支持闭包函数,接受两个参数, 返回true表示验证通过,返回字符串表示验证不通过,同时表示不通过原因
- 第一个参数为该单元格值
- 第二个参数为该行的所有值
子母表
子母表用于处理多层的数据导入情况,如用户需要在一个excel中,录入不同sheet数据,而不同sheet之间存在数据关联的情形。
举例: 一个项目,下面还存在不同的团队需要录入时,此时就可以通过设置二级子母表来一次完成项目和团队的数据导入
-
children值配置
children下的配置值其实与父级的配置一样,唯一不同的是多了个ref_key的值需要配置。该值接收一个数组,每个值表示与父级的关联字段
PS. 子母表理论上支持无限嵌套,children下还可以继续设置children值,可按实际业务设置更复杂的导入方式。
根据配置值设置导出excel模板
导入excel表格,生成grid web表格
下面是前端页面代码
完成这步,就可以看到导入的数据已经转换成web表格,确认没错后可点击提交
grid数据提交处理
异步导入
前端组件配置
后端地址配置
-
submitUrl
验证数据没有问题,启动异步处理逻辑。并返回处理trans_id
- asyncProcessNotify
- 接收trans_id , 并根据trans_id查验异步处理进度情况,返回process,通知前端更新进度条
- 如果处理过程中出错,返回 error: 1, error_msg: 错误原因
导入中处理异常,返回异常记录
业务场景:导入数据,如需请求第三方API,当网络异常或者API请求返回错误,需要将异常情况返回给用户
导出excel错误信息
前端组件配置