现在手上有一份电子表格,里面有一列编号,绝大部分都是数字型的,还有一部分数据,看上去,也是数字型的,但在它的单元格里,多了一个"'", 
比如在某个单元格里输入:'001 (前面有个'号),电子表格里显示的是:001,可是这个数据,却不能导入到数据库里.由于电子表格里的数据量比较大,总共有近两万条,类似上面的数据,有好几百条,不想手工修改电子表格里的每一条数据.不知有没有好的办法?
修改电子表格也可以,但不希望是手工修改每一条数据(在电子表格里,查找 ' 符号,根本查找不到).

解决方案 »

  1.   

    将xls文件另存为csv文件,然后再导入
      

  2.   

    回楼上: 
    如果另存为CSV格式的文件, 那么在另存为的过程中,它会把:'005 (字符串:005)转化为数值型的:5, 前面的两个零去掉了.如果修改电子表格,有没有什么方便的方法?
      

  3.   

    1.在 import 之前用 先处理 excle , 将 ''' 去掉
    2.在 import 之后 , 数据库里面用    replace
      

  4.   

    用DTS(2000),SSIS(2005)导的时候选择字段的类型即可.
    如001(选择 int...)
    '001'(选择 char/varchar...)
      

  5.   

    to 十一月猪:
    你的方法是可以的,但是,有个地方还不知道怎样操作,第一条: 在电子表格里,把分号去掉,这个我试了很久,还没有找到方法.to 潇洒老乌龟:
    在SQL Server 下面,把"001"选择不同的数据类型,如:int, nvarchar(20),varchar(20) 都不行.另外,通过Access做为中转应该可以,因为刚才把这些数据导入到ACCESS里,是可行的,没有丢失数据,
    并且他没有把"005"(字符串)变成"5"(数值型).
      

  6.   

     回楼主:
    这是因为数值以文本格式存储了。凡有'在数字前面都是这个意思。这样导入数据库通常会造成空值的出现。我的解决办法是,把整个电子表格复制到文本文件。然后再用SISS包提取,这样数据就全部以文本格式导入,然后再在包中转换成你想要的数据。
      

  7.   

    将xls文件另存为csv文件,然后再导入