结构化模板概述 (DataBook)

 

    结构化模板( DataBook)使用的是类Excel的纯Java组件(该组件为软件版权所有)。它提供与Excel类似的界面与操作方式,具有功能强大,操作方便,兼容Excel概念和操作,且可以读入xml格式的Excel文件(MS Office2003提供xml格式的Excel文件)。

    一个结构化模板,可以理解为一个工作簿,工作簿包含一个或多个工作表 (工作表:用于存储和处理数据的主要文档。工作表由排列成行或列的单元格组成。工作表总是存储在工作簿中。可同时在多张工作表上输入并编辑数据,并且可以对多张工作表的数据进行汇总计算。

    通过单击工作簿窗口底部的工作表标签,可从一张工作表或图表移动到另一张工作表或图表上。还可以用不同的颜色来标记工作表标签,以使其更容易识别。

    活动工作表是白色的背景,其它的是灰色的背景。当工作表名称显示为绿色荧光时,表示其中有单元格允许编辑 。

 

 

插入新工作表

    在一个工作表上占击右键,可以插入一个工作表

如何访问单元格

    使用单元格的名称访问单元格,如a1 , b1 , f4 ,c9等。但不建议直接这样的名称来访问单元格。因为当插入行,或列后,现在的f4就不是原来的f4了,可能就是f5了。这个可能通过为单元格定义别名来解决。单元格的别名在当前工作表中是独一无二的,但在不同的工作表中,别名是允许相同的。比如绝对不允许在“工作表1”中出现两个别名为name的单元格,但是允许在“工作表1”和“工作表2”中分别存在一个叫name的单元格

    建议在公式中使用别名,而不是单元格名来访问单元格。注意,由于单元格名通常是一个或两个字母加上一个数字,如a1 ,b2 ,ac12等都是合法的单元格名,因此在为单元格取别名时,不要取类似的名字,如m1,m2这样,系统并不会把他们当作别名,而会认为是单元格名。即别名最好是多于3个字母,或是多于3个字母再加上数字。

如何跨工作表访问单元格

    当在公式中需要访问同一个工作表中的单元格时,直接使用单元格名或别名即可,如可以定义单元格b1 = a1+a2+a3 . 当需要访问另一个工作本中的单元格时,需要使用工作表的名字加上感叹号再加上单元格的名字或别名,如: b1=a1+ 工作表2!a1+工作表3!count 表示 b1等于与b1同一个工作表中的a1的数据加上名为“工作表2”的工作表上的a1单元格的值,再加上名为“工作表3”的工作表上的别名为count的单元格的值

如果为单元格定义公式

    当为单元格设置的数据是以英文等号开头时,表示是一个表达式定义,如 =a1+b1 等。

    如果设置单元格的值为一个常值,那么直接输入内容即可,如下图:就表示B37单元格的内容就是aaaa

    如果按如下设置,这表示B37的值是一个表达式的结果,表达是 ="aaaa"

虽然最终的显示结果是一样的。但它们本质上是不同的。一个是静态数据,一个是表达式定义。

 

为什么要对单元格数据作强制转换

    当一个单元格没有数据时,我们说它的数据是null,一个有null参与的表达式,其结果是null,所以最好是使用类型转换函数将单元格的数据做强制转换。

    常用的转换函数有 cdbl , cInt ,cstr

 

大小写不敏感

    单元格名称,别名,函数名称在单元格公式定义中是大小写不敏感的,但在二次开发中大小写是敏感的。

    在查看函数帮助时,函数有个“适用范围”。适用于表单,表示此函数可以用在单元格公式定义中。适用于脚本,表示此函数可以用在二次开发中。当函数用于单元格公式定义时,函数名称是大小写不敏感的,当函数用于二次开发时,函数名是大小写敏感的。这一点请牢记。

 

如果与数据库交互

    结构化模板( DataBook)使用异地透明数据缓冲池( DataPool)进行数据库操作。 DataPool 引擎的应用,使得基于Web的在线数据操控成为可能。用户所有的数据操作均针对于浏览器中由DataPool引擎构建的一个离线的数据缓冲池进行的,网络带宽的限制,网络故障等对应用系统的影响因此而减少到零。 DataPool 无需繁杂的XML配置,也不会因数据库对象的增加而导致对象激增。它的访问透明性使得无需关注数据库的物理位置。 DataPool 查询语言使用经典的SQL。

    在结构化模板( DataBook)中, 使用数据源(DataSource)来描述对一个数据的访问。一个数据源是指指定数据库连接中的一张表,或是一个由SQL语句定义的结果集。一个结构化模板中可能绑定多个数据源。这多个数据源可能是连接到不同的数据库。

    因此,DataBook + DataPool 构成了协同平台中异构数据的集成访问引擎。