前言:

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

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. RedHat 7.0及CentOS 7.0禁止Ping的三种方法

    作者:荒原之梦 原文链接:http://zhaokaifeng.com/?p=538 前言: "Ping"属于ICMP协议(即"Internet控制报文协议") ...

  2. InnoDB页压缩技术

    Ⅰ.想起一个报错 1.1 创建表报错 (root@localhost) [(none)]> create tablespace ger_space add datafile 'ger_space ...

  3. Day1 《机器学习》第一章学习笔记

    <机器学习>这本书算是很好的一本了解机器学习知识的一本入门书籍吧,是南京大学周志华老师所著的鸿篇大作,很早就听闻周老师大名了,算是国内机器学习领域少数的大牛了吧,刚好研究生做这个方向相关的 ...

  4. javascript 正则表达式补充

    定义 JavaScript种正则表达式有两种定义方式,定义一个匹配类似 <%XXX%> 的字符串 1. 构造函数 var reg=new RegExp('<%[^%>]+%&g ...

  5. app后端设计(4)-- 通讯的安全性

    在app的后台设计中,一个很重要的因素是考虑通讯的安全性. 因此,我们需要考虑的要点有: 1. 在app和后台,都不能保存任何用户密码的明文 2. 在app和后台通讯的过程中,怎么保证用户信息的安全性 ...

  6. APNS导致消息丢失和发送效率原因

    http://blog.csdn.net/tlq1988/article/details/9612237 首先说明一下,本文只是介绍一些容易被开发者忽视,而导致性能低下问题.并不是介绍如何向苹果设备成 ...

  7. webcron

    一个定时任务管理器,基于Go语言和beego框架开发.用于统一管理项目中的定时任务,提供可视化配置界面.执行日志记录.邮件通知等功能,无需依赖*unix下的crontab服务. 项目背景 开发此项目是 ...

  8. 关于xpath语句完全正确,但是页面报错: no such element: Unable to locate element: {"method":"xpath","selector":"xpath"}

    之前使用selenium-webdriver来写UI的自动化脚本,发现有一个元素一直无法定位,查看其源码,如下 利用xpathChecker验证了xpath语句的是正确的,但是控制台一直报错: no ...

  9. fasthttp 文档手册

    fasthttp 文档手册 貌似文章有最大长度限制,完整全文地址:https://github.com/DavidCai1993/my-blog/issues/35 常量 const ( Compre ...

  10. Java线程与Linux内核线程的映射关系

    Linux从内核2.6开始使用NPTL (Native POSIX Thread Library)支持,但这时线程本质上还轻量级进程. Java里的线程是由JVM来管理的,它如何对应到操作系统的线程是 ...