excel的sheet1
    a     b    c    d    e    f    g  .....
1   目1
2   头1  头2   头3  头4
3   343  11:30 Mi   oo
4   341  11:13 Ma   ee
5   合计
6   目2
7   头5  头6   头7 
8   333  222   111
9   111  222   2332
10  合计
.
.
我用的是ado
Select *  FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel  8.0;DATABASE=C:\xxx.xls','Select * from [sheet1$]') 
但是进到数据库里变了样.还有一些字段,数据都丢失了....大家可以按上面的格式建1个excel导入sqlserver实验下,看样子变没有...简直惨目人睹.........我想在把上面的excel导到数据库的1个表里 ,字段格式全是字符
如下:
a    | b    |c    |d    目1  |      |     |
头1  |头2   |头3  |头4
343  |11:30 |Mi   |oo
341  |11:13 |Ma   |ee
合计 |      |     |
目2  |      |     |
头5  |头6   |头7  |
333  |222   |111  | 
111  |222   |2332 | 
合计 |      |     |

解决方案 »

  1.   

    你要把你excel里所有数据前都加一个'就可以了。
      

  2.   

    to:xixuemao
    晕了..那么多数据手动+??那怎么行??
      

  3.   

    呵,必须要把目标数据库的字段全都用字符型,并且赋值时
    rsDest.Fields[i].asstring := rdSource.Fields[i].asString;
      

  4.   

    还有就是如果我在excel中把所有单元格设置成文本格式的,还有数据丢失的问题
      

  5.   

    我用的是这样的
    SELECT * 
    FROM OpenDataSource( 'Microsoft.Jet.OLEDB.8.0', 
      'Data Source="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions
      

  6.   

    晕,手动加?excel里面不是有函数吗?用里面的字符函数一下不就可以了。呵呵
      

  7.   

    to:xixuemao
    是不是设置所有单元格属性为文本..我昨天就设了..读出来还是乱7八遭的..还有的格子没数据