因特殊原因需将已导出的XLS文件重新导入REC系统。导入过程颇为复杂,虽经多种尝试未果,最终通过间接方式成功解决。现将相关操作过程与经验总结如下:
1、 指导思想引领
2、 从EXCEL转至Visual FoxPro,再迁移到EpiData,数据管理逐步升级。
3、 首先将XLS文件转换为DBF格式,再将其导入EPIDATA数据库中完成数据处理。
4、 组织保障有力
5、 使用EXCEL2003版本,建议用旧版,因03以上无法另存为DBF格式,尽管我手头没有老版本。
6、 WPS能编辑DBF文件,功能实用,值得备选使用。
7、 我在网上随便下载了一个老版本的Visual FoxPro 6.0,毕竟也是很久以前的软件了。
8、 最后使用的版本是epidata 3.1。
9、 步骤实施
10、 由于缺少03版Excel,无法直接将文件另存为DBF格式,我尝试了同事的03版也未成功,推测是版本兼容问题。以下是具体操作方法。
11、 将XLS文件在Excel中打开后,另存为95版本格式,若提示存在不兼容内容,确认删除即可。
12、 将数据从Visual FoxPro导入系统。
13、 建议使用导入向导进行操作,否则系统会默认将DBF文件保存在VFP根目录下;而通过向导则可将其与XLS文件存放在同一文件夹中。
14、 当进行到第三步时,可选择修改数据类型(不建议),也可留待后续再改(推荐做法,便于对照qes文件调整,避免因数据类型不符导致无法合并)。接着,在下一步中将时间格式设为MM/DD/YY,以防时间显示出错,最后点击完成即可。
15、 若在导入后需调整数据库结构,请由此进入操作。
16、 修改数据类型时需参照原始QES文件:文本字段用__表示,数值字段用表示(含小数点时,小数点及其后位数均计入总长度),时间字段应设为时间型。
17、 修改数据类型后保存退出,生成符合要求的DBF文件。
18、 导入DBF文件时,系统会自动在首行添加变量名,若直接在Excel中打开,会导致原始标题行被下移成为数据内容,从而影响数据识别。为避免此问题,可采用两种方法处理。第一种方法是:导入后暂不调整格式,先用WPS打开该文件,手动删除第一行新增的变量行并保存。保存过程中可能出现提示,询问是否移除不兼容内容,此时应选择确认,虽然所有字段会被转为文本格式,但无需立即修改。再次打开文件后,VPF即可正确识别原表头,之后再根据需要调整各列的数据类型。第二种方法是:先从EpiData中使用空模板导出一个空白的DBF文件,然后在执行第3.4步时,将目标文件指定为这个已生成的空表,再进行数据导入操作。这样导入后的文件结构规范,标题行不会错位,也可在VPF中直接删除多余的第一行以完成修正。
19、 标题行有误
20、 正确的标题格式
21、 将修改后的DBF文件在EPIDATA中导入,完成后会生成相应类型文件,但其格式与我们的调查表仍存在差异。
22、 将生成的REC文件通过追加方式合并到含有文字信息的原始空REC文件中,即可实现文字的正常显示。
23、 4.0版本完成后,时间将显示为YYYY/MM/DD格式。唯一不足是,导出时若小数位为空,VPF会显示为.0,且带小数的数据会自动补零,虽不影响计算结果,但略显不够完善。
