Excel转换为VF的DBF格式

      最近得到一些Excel数据,是1995~2005的一个时间系列上的某水库水量相关的Excel格式的数据.由于Excel只是一个电子表格,用起来也不具有很好的数据约束性,而在ArcMap中制图的话最好是DBF格式的数据库文件.于是就将Excel转换为DBF格式.

      首先当然是整理Excel表格的格式,我这里要转换成一张表,需要跟数据库表的要求。将Excel中多余的空格删除。然后设置同意的字体格式。设置字体格式为“宋体、12号、左对齐”。
      对于以前的Excel2003版本的据说可以直接另存为DBF 4的格式。由于用的office 2007。所以里面没有另存为Excel。只能从Visual Foxpro中导入进去。打开VF,文件->导入,选择导入excel文件。如图
     
      VF中支持导入Excel5.0一下的版本,所以要将现有的Excel数据另存为Excel5.0版的。然后导入进去,选择要导入的工作表。确定即可。
      问题:虽然我们在Excel导入VF之前做了很多前提的准备工作,但是由于各种原因。导入为DBF表之后,数据的类型和数据本身发生了一些变化。以我这次转换为例,导入之后,在Excel中的表一个有6个字段。其中一个日期型、二个字符型以及3个数值型。但是转换为表之后,日期型的字段没啥变化。字符型的也还型,主要是转换的过程中,3个数值型中有2个变成了字符型,而且数值变成字符之后前后都有很多空格,导致字符的长度为30。我在VF中修改表的结果,将本来应该是数值型的字段修改为数值型,可是浮点型也就20.这样修改后的结果是表中的2个字符型字段变成数值型后,数据丢失。主要是因为两个字段的长度不一样。要解决这个问题就需要删除那些在导入工程中出错的部分,将两个字段中的字符串前后的空格删除。使用Update 表 set 字段=AllTrim(表.字段)。然后在修改这两个字段为数值型,这样就不会出现由于前后长度不一造成数据丢失的情况了。
      关键词:数据转换,信息丢失
posted @ 2009-09-16 20:10  Vincent Chou  阅读(...)  评论(...编辑  收藏