1、我们在这里展示使用ReadWrite写入数据的功能。主要步骤就是:(1)File Module 的设置, 及(2)建立 ReadWrite Module。假设如图中的一个场景,数码产品修理站需要修理两种类型的产品:Phone和Computer。修理站的工作人员希望记录修理每一个产品的开始时间、结束时间、修理时长,以便安排进一步工作。
2、想要记录坡庥汩赴每一次修理所花费的时间,首先要设置File模块。如上图。假如我们想要将数据写入到txt文本文件里,Access Type就选择Sequential File。Operating System File Name是这个txt文件在操作系统里的位置。这里要注意,Operating System File Name我们可以填写txt文件的完整路径,但是这个路径不能含有中文字符,否则系统无法读取;另一种方法,我们也可以直接写这个txt文件的名称,如:ReadWrite.txt,则系统会默认在模型文件所在的文件夹中查找这个文件。这里建议采取后一种方法,这样当我们把模型和txt文件拷贝给别人时,文件路径的改变不会影响数据的写入。设置File文件也可以双击文件所在的栏位,打开对话框编辑,如下图。
3、之后是ReadWrite Module的填写。用Arena File Name指向我们刚才所设置的F足毂忍珩ile 1文件。Type选Write to File。Assignment是我们需要写入的内容,每一个进入ReadWrite模块的实体所带有的相应数据都会被记录下来。如图:第一行记录实体进入系统的时间,这是Assign模块之前替我们采集到的。第二行是完成Fix Process后的“当前时刻”TNOW。第三行用公式计算了加工时间。第四行记录的是实体的类型Entity Type,此处的语法Str(ENTITIES, Entity.Type)返回的是字符串,即我们在Creat模块中Entity Type一栏所设定的文字内容。
4、语法Str(ENTITIES, Entity.Type)中,ENTITIES指向了Basic Process>Entity这个图表模块。Entity.Type是根据实体所携带的信息指向相应的栏位。如图:如果实体所携带的Entity Type信息是Phone,则在Entity图表模块中对应的是第一个栏位,Entity.Type所返回的数值就是1。而Str(ENTITIES, Entity.Type)返回的是字符串:Phone。下图是txt最终的输出效果。到此我们已经知道如何写入txt文件了。
5、那么如何写入Excel文件呢?下面再举个例子示范。首先设置Excel中的名称管理器。例如: 我在指定输出的excel 文件中,在Sheet1这张表中,定义了A1:C71这个range,它的名字是TestRange。注意:1)将 Sheet1 和 TestRange 这两个参数值记录,稍后需要输入到Arena File Module里面。2)如果输出四组数值,Excel里面就必须定义四列,例如A列到D列。
6、回到Arena中设定File模块,Access Type选好相应的格式,这里我们选择Excel 2007 (*.xlsx)。写好路径。1)点击Recordsets,Arena会将Excel中的Recordsets都导入进来。2)在Recordsets in file中选择我们在Excel中需要写入数据的位置。Recordset Name就是 Excel 文件中你要输出的那个表(sheet) 的名称,例如 Sheet1。Named Range是Excel名称管理器所对应的位置。
7、然后是ReadWrite模块中的对应。Record ID对应的就是Recordset Name。下图是Excel 2007 (*.xlsx)最终的输出效果。相信大家可以融会贯通读写其他数据库的方法,各位Get到了吗?
8、最后补充一点,关于Arena14.70.00 版本,存在一个读写64位Office文件的Bug,会有图中的报错。这时我们需要在Office官网上打一个补丁。请在http://www.microsoft.com/download/en/confirmation.aspx?id=23734 下载:AccessDatabaseEngine.exe问题就可以解决了。