早就知道 Lotus Notes 可以将制表文本引入视图,但我从来没试过。昨天正好遇到一小批数据需要导入Notes数据库,突然萌发了尝鲜的念头,于是小试了一下此功能。其间过程有些曲折,发现关于此功能,Notes的文档描述得不够清楚,而且有些地方与实际情况不符,所以写了这个示例来说明:结合定义列描述符文件(.col)将制表文本引入视图的方法。
● 定义
1. 制表文本
制表文本是按行和列排列的 Unicode文本,使用制表符分隔(1)。向视图中引入制表文本文件时,每一个文本行都独立的文档,每一个文本列都被视为一个域。原单元格内容被视为域内容。将制表文本引入视图时,每个记录(行)字符总数限制为 1536。
注(1):示例中使用了逗号(,)作为分隔符。
2. 列描述符文件
Unicode文本,扩展名为.col。
● 示例
假设表单上有下域:
name, sex, birthday, weight
需要批量导入数据。
一、准备数据文件
像这样的格式:
小芳,女,1990-01-01,50
小明,男,1990-02-01,60
小强,男,1990-03-01,70
每行一个文档,各个域值之间以逗号(,)分隔,行头、行尾、列间不留空白。保存为.txt文件。
二、定义列描述符文件(.col)
name: type text until “,”
sex: type text until “,”
birthday: type datetime until “,”
weight: type number until “”
每行为一个域的描述,保存为.col文件。
1. type 支持 Text、Number、Datetime。如果不指定type(例如 name: until “,”),Notes将根据数据自动确定域类型。如果数据无法转换成指定的类型,Notes也将根据数据自动确定域类型。 until “,”必须要有,引号中的字符为列的分隔符,因为最后一列后面没有分隔符,所以最后一列的until “”引号中没有内容。
2. 文件中使用空格作为分隔,不要为了美观使用制表符(tab),因为Notes可能无法正确识别(我就因此被小小折腾了一下)。例如:name:空格type空格text空格until空格“,”。
三、引入数据
1. 在视图中,选择“文件”“引入”。
2. 在“引入”对话框中的“文件类型”列表中选择“Tabular Text”。
3. 选择之前做好的数据文件。
4. 单击“引入”。
5. 根据要在视图中显示文本的形式,在“引入类型”列表中选择“主文档”或“答复文档”。
6. 在“引入制表文本”对话框中的使用表单”部分选择要用于引入制表文本的表单。
7. 选择“使用格式文件”并单击“选取格式文件”来选择之前定义好的列描述符文件。
8. 选择“在文档引入时计算表单中的域”,以便生成数据文件中没有提供,但表单设计中有默认值的域。不选此项,将只会生成数据文件中提供的域。
9. 单击“确定”。
需要检查
Hey, that’s the gertesat! So with ll this brain power AWHFY?