日期:2014-05-18  浏览次数:20600 次

从Excel插入记录到数据库表的问题
大家知道:
select   *   into   新表   from   OPENROWSET( 'MICROSOFT.JET.OLEDB.4.0 ', 'Excel   5.0;HDR=YES;IMEX=1;DATABASE=e:\test.xls ',sheet1$)
可以从Excel插入记录到数据库表,但是我现在有一列是文本类型CODE   varchar(25),但是里面的值是1234566789等像数字的值,当我执行SQL语句时,SQL   SERVER好象是把这些值当作数字来处理了,有没有什么方法可以让SQL   SERVER将这些值当作文本型处理?


示例:我执行以下语句时看到的片段
select   CODE   from   OPENROWSET( 'MICROSOFT.JET.OLEDB.4.0 ', 'Excel   5.0;HDR=YES;IMEX=1;DATABASE=e:\test.xls ',sheet1$)

CODE
8.05132e+006
8.05133e+006
8.05134e+006

------解决方案--------------------
插入前截断转换一下
------解决方案--------------------
在excel中第一行数据前插入一条标明格式的记录,插入时用where将这条记录过滤掉
------解决方案--------------------
你试过用企业管理器直接导入吗?