# ExcelImport **Repository Path**: haoidea/ExcelImport ## Basic Information - **Project Name**: ExcelImport - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2017-10-13 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 导入XML配置说明 ## 结构 1. XML 声明 :`` 2. 根节点:`` 3. 表节点:`
` 4. 列节点:`` 5. 清单结点:`` ## 表级属性: 1. Name 2. SpImportExcel 3. Filter 4. Skip ## 列级属性: 1. IsPrimaryKey 2. IsDelete 3. IsUnique 4. Required 5. DefaultValue 6. ColumnName 7. HeaderText 8. DataType 9. DataTypeMsg 10. RegExp 11. RegExpMsg 12. UpdateIgnore ## 清单表级属性: 1. Name 2. PrimaryKey 3. ReferenceColumn ### 表级属性详情: 1. Name: - 表示该配置表操作的数据库表 如:X6_Personnel_BasicInfo - `
` 2. SpImportExcel - 一行数据插入进数据库后执形的存储过程 - 如 usp_CreateUserCode - `
` 3. Filter - IsUnique 属性的附加条件 - 如: 身份证号在数据库中存在时,提示身份证号已存在,并且排除掉员工状态为离职的。 - 注:身份证列上要配IsUnique="true" - `
` 4. Skip - 跳过指定条件的行 (仅更新时可用) - 如想跳过对数据库中指定条件的行的更新 - 如想跳过对姓名等于高聪的数据行的更新则 Skip="Name='高聪'" ### 列级属性详情: 1. IsPrimaryKey: - 设了IsPrimaryKey的列,值存在时做update,反之做insert - 支持多列设IsPrimaryKey. - 如 工号列和姓名列上面都设了IsPrimaryKey,那么工号和姓名在数据库中同时存在时才做update,反之insert 2. IsDelete: - 是否忽略改配置列 true/false 3. IsUnique - 该列是否做存在性验证 - 如 身份证号在数据库中存在时,提示身份证号已存在 - 则 `` 4. Required - 该列是否必填 true/false 5. DefaultValue - Excel中列中没填值时,取默认值 - 特殊值: - 1. NewID :表示一个Guid 2. EmptyNewId :空Guid 值全部为0 3. Max :当前表中当前列在数据库的最大值+1 4. SerialNumber : 流水号 5. CurrentUser :当前登录用户名 6. CurrentDate :当前服务器时间 7. ImportFlag :导入流水号 6. ColumnName - 在数据库中的列名 7. HeaderText - 在Excel中的表头名 (根据表头名取值) 8. DataType、DataTypeMsg - 列的数据类型,数据类型验证失败时提示 DataTypeMsg - 目前该列支持的数据类型有 datetime 、bool 9. RegExp、RegExpMsg - 列上用的,正则表达式如 ^[A-Za-z0-9]{1,50}$ 匹配 1-50 个字母或数字 - 不匹配正则时的提示RegExpMsg 10. UpdateIgnore - 更新时是否忽略 ### 清单表级属性: 1. CodeTable为清单表节点 3. Name为关联表名 3. PrimaryKey为select出的字段 4. ReferenceColumn为where条件 5. 例: - `` - 列里面可添加CodeTable节点,CodeTable代表清单表 - Name为关联表名,PrimaryKey 为select 出的字段, - ReferenceColumn为where条件 - 如上配置生成的sql为 `select VGUID from X6_Personnel_BasicInfo where UserCode='VGUID'` - 最终插入数据库的为select 列 的值