前言:

前面两篇都是大体介绍流程,有一些配置细节,没有细说,这里用一篇补上。

1、Excel配置项

起始行索引、列头跨行数:

对于自定义的Excel导入模板(有时候模板是由客户提供,模板的规则很乱)

比如模板里前面是一些说明,中间是列头,下面还带有数据和说明格式。

通过配置起始行索引,以及列头跨行数(0或1都代表一行),则可以解决此类问题。

条件方式:

此选项,是针对映射字段里:勾选了多个“唯一键”,的情况。

有些时候,需要满足 A and B 为组合条件:A字段+B字段 才组成唯一。

有些时候,可能需要 A or B为组合条件:A字段 或 B字段 单独都是唯一。

导入方式:

仅插入:只处理插入。

仅更新:只处理更新。

插入或更新:存在则更新、不存在则插入。

所有方式,都是:根据唯一键勾选的条件做为检测条件。

2、字段映射配置

Excel列名:

系统自动读取的Excel模板,按规则把Excel模板的列头名字读取出来。

表名+表字段名:

系统会自动读取数据库的字段描述和列表的表头配置规则,自动匹配出对应的表名+字段名。

对于系统无法自动识别或匹配错误的,则需手工调整。

对于多个表之间的关系,则手机添加补齐外键字段(外键列名可以随便取)

必填:

指定字段是否需要必填。

唯一:

做为检测插入或更新的条件。

可以勾选多个,默认是and组合,(在Excel导入配置那里,可以指定是and还是or组合)。

外键+外键对应的表名:

当涉及多个表时,总有关联字段,因此,需要添加关联字段,这里统一叫外键

添加好外键,必然需要指定该外键关联到哪个表(系统会自动识别表的主键,并进行关联)

PS:如果表之间的关联,不是通过主键关联,而是通过某个Key关联,则在格式化字段中指定的表的字段。

3、字段映射格式化:

和配置表头的配置规则一样,可以配置一些格式化(系统也会自动识别并自动读取过来)

规则一:#号配置(和导入配置规则格式化一样)

#是否

配置后,Excel数据填写的是下拉选择是与否,导入数据会格式化成1或0进数据库。

规则二:@号配置

以下几个为系统的固定替换值:

@UserID : 当前的用户ID。

@UserName :当前的用户名。

@FullName :当前的真实姓名。

其它自定义:

@XXX : 系统会自动从post过的参数里(通过Reques["xxx"])寻找同名的替换。

规则三:.号配置

可以指定取某个字段的值:配置规则为:表名.字段名(表名可以省略)

.FullName

示例:用户导入时,用户的姓名对应:FullName,但数据库还有一个字段叫RealName,即则一个值需要存两份。

则:添加一个RealName字段,并把格式化配置成 .FullName

规则四:默认值

系统固定的默认值:

now() :代表当前时间。

newid() :一个随机guid值。

其它:

9527 :写什么就值值。

总结:

配置是核心,理解了基本可以处理大部分情况,而无需写代码。

如果真的要写,请看下一篇。

ASP.NET Aries 高级开发教程:Excel导入配置之规则说明(下)的更多相关文章

  1. ASP.NET Aries 高级开发教程:Excel导入之代码编写(番外篇)

    前言: 以许框架提供的导入配置功能,已经能解决95%以上的导入情况,但有些情况总归还是得代码来解决. 本篇介绍与导入相关的代码. 1.前端追加导入时Post的参数: var grid = new AR ...

  2. ASP.NET Aries 高级开发教程:Excel导入之多表高级导入配置(中)

    前言: 在面对Excel的各种复杂导入情况中,多表导入是很常见的情景. 今天就来写一下多表导入是如何配置的. 1.自定义导入模板 怎么自定义: 其实就是自己新建一个Excel了,把列头都写好. 不过有 ...

  3. ASP.NET Aries 高级开发教程:Excel导入之单表配置(上)

    前言: 随着ASP.NET Aries的普及,刚好也有点闲空,赶紧把Excel导入功能的教程补上. Excel导入功能,分为四篇:单表配置(上).多表高级配置(中).配置规则(下).代码编写(番外篇) ...

  4. ASP.NET Aries 高级开发教程:主题样式及多语言(标签化控制)

    前言: 最新ASP.NET Aries升级到V5.2.0以上之后,之前的样式和多语言机制,有了重大的升级机制,这篇就简单介绍一下. 1.控制开关 在配置维护那里,新增了两个控制项: 2.如何添加主题 ...

  5. ASP.NET Aries 入门开发教程2:配置出一个简单的列表页面

    前言: 朋友们都期待我稳定地工作,但创业公司若要躺下,也非意念可控. 若人生注定了风雨飘摇,那就雨中前行了. 最机开始看聊新的工作机会,欢迎推荐,创业公司也可! 同时,趁着自由时间,抓紧把这系列教程给 ...

  6. ASP.NET Aries 高级开发教程:如何写WebAPI接口

    前提: 最近,有不少同学又问到,Aries里如何提供WebAPI接口? 针对这个问题,今天给顺路写个教程,其实呢,很简单的. 方式一:直接用WebService提供接口. 用这种方式,直接添加接口就可 ...

  7. ASP.NET Aries 高级开发教程:使用存储过程(番外篇)

    前言: 发现这个问题,有不少人提起过,所以就简单写成文章吧. 接下来看如何在Aries 框架中使用存储过程,整体步骤和绑定普通视图差不多. 步骤一:新建一个空视图. 可以在SqlCode管理中,创建一 ...

  8. ASP.NET Aries 高级开发教程:表单检测字段是否已存(番外篇)

    前言: 昨天刚好有人问了这个问题,因此就针对这个问题,补上一篇吧. 正文: 如图:在用户编辑列表中,用户名是会自动检测是否已存在的. 具体对应的Html内容如下: <label><e ...

  9. ASP.NET Aries 高级开发教程:行内编辑事件怎么新增数据到后台(番外篇)

    前提: 今天又网友又提出了一个问题,说行内编辑保存之前,怎么新增一些数据提交到后台? 对方说看了源码,也没找到怎么处理,这里就写文给解答一下. 解答: 于是我看了一眼源码,只能说你没找到地方: 第12 ...

随机推荐

  1. 搭建Hadoop完全分布式

    Centos7搭建hadoop完全分布式 虽然说是完全分布式,但三个节点也都是在一台机器上.拿来练手也只能这样咯,将就下.效果是一样滴.这个我自己都忘了步骤,一起来回顾下吧. 必备知识: Linux基 ...

  2. mysqldump详解

    Ⅰ.mysqldump的简单使用与注意点 1.1 基本参数 只备份innodb,用不了几个参数,记住下面几个即可,其他的没什么卵用 -A 备份所有的database -B 备份哪几个数据库 -R 备份 ...

  3. Load balancer does not have available server for client

    最近在研究spring-cloud,研究zuul组件时发生下列错误: Caused by: com.netflix.client.ClientException: Load balancer does ...

  4. JavaScript设计模式 Item 3 --封装

    在JavaScript 中,并没有对抽象类和接口的支持.JavaScript 本身也是一门弱类型语言.在封装类型方面,JavaScript 没有能力,也没有必要做得更多.对于JavaScript 的设 ...

  5. oracle+mybatis 使用动态Sql在要insert的字段不确定的情况下实现批量insert

    最近做项目遇到一个挺操蛋的问题,由于业务的关系,DB的数据表无法确定,在使用过程中字段可能会增加,这样在insert时给我造成了很大的困扰. 先来看一下最终我是怎么实现的: <insert id ...

  6. 常用JS对象的方法总结

    String 方法 描述 charAt() 返回在指定位置的字符. charCodeAt() 返回在指定的位置的字符的 Unicode 编码. concat() 连接字符串. indexOf() 检索 ...

  7. 32.APP后端处理表情的一些技巧

    app应用中文字夹带表情是个很常见的现象.甚至一些40多岁的大叔级用户,也喜欢在自己的昵称中夹带表情,在产品运营后发现这个现象,彻底颠覆了我的世界观. 在后台处理表情的时间,我遇到过下面3个问题: 1 ...

  8. 17.app后端如何保证通讯安全--aes对称加密

    在上文<16.app后端如何保证通讯安全--url签名>提到,url签名有两个缺点,这两个缺点,如果使用对称加密方法的话,则完全可以避免这两个缺点.在本文中,会介绍对称加密的具体原理,和详 ...

  9. Python json & pickle, shelve 模块

    json 用于字符串和python的数据类型间的转换 四个功能 dumps dump loads load pickle 用于python特有的类型和python的数据类型进行转换 四个功能 dump ...

  10. bzoj3811 玛里苟斯

    分三种情况讨论 k=1时,对于每一位而言,只要有一个数这一位是1,那么这个就有0.5的概率是1,选他就是1,不选就是0,有第二个的话,在第一个选或不选的前提下,也各有0.5的几率选或不选,0和1的概率 ...