把excel导入到mssql的表中,但用户excel表中数据“列”的位置可能不相同,
 即:  F1     F2      F3                  F1      F2      F3  
      (ID)   (Name)  (Pay)                (ID)    (Pay)   (Name)
      001    aaa     1500     也可能是    001     2500    ccc
      002    bbb     2000                 002     1800    ddd
      ...    ...     ...                  ...      ...    ...
请教各位高手怎样灵活处理??分不够再加!!

解决方案 »

  1.   

    建议你先在Delphi里打开Excel文档,然后导入前,由操作者选择各列的顺序,然后动态生成SQL语句,再导入到MS SQL中。
      

  2.   

    http://expert.csdn.net/Expert/topic/2341/2341997.xml?temp=.2739221
    SQL语句导入导出大全
    http://expert.csdn.net/Expert/topic/2461/2461899.xml?temp=.39555
    交流--导入/导出Excel
      

  3.   

    xiaoqiang123(xiaoqiang) 的可以完全解决问题了
      

  4.   

    http://expert.csdn.net/Expert/topic/2341/2341997.xml?temp=.2739221
    http://expert.csdn.net/Expert/topic/2461/2461899.xml?temp=.39555
      

  5.   

    我突然觉得被你的提问搞胡涂了。
    你有各列的名字即可,与在Excel中的排放顺序没什么关系。
    正如上面几位所说,SQL语句可为:
    Select Field1, Field2, ... From OpenDataSource('Microsoft.Jet.OLEDB.4.0',
      'Data Source="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel 8.0')...Sheet1 Into TableName(Field1, Field2, ....)
      

  6.   

    或:
    Insert Into TableName(Field1, Field2, ....) From OpenDataSource('Microsoft.Jet.OLEDB.4.0',  'Data Source="c:\test.xls";User ID=Admin;Password=;Extended properties=Excel 8.0')...Sheet1
      

  7.   

    xiaoqiang123(xiaoqiang) 的可以用
      

  8.   

    To:VeryOldMan
    如何在Delphi中打开Excel文档。
    我是想把Excel导入到Interbase数据库中。
    请看下贴
    http://expert.csdn.net/Expert/topic/2577/2577636.xml?temp=.8048517
      

  9.   

    可参考:
    http://expert.csdn.net/Expert/topic/2571/2571083.xml?temp=.1453668
    打开excel之后,往Interbase中添加该不会有问题吧!
      

  10.   

    To:VeryOldMan
    使用你的方法我已经可以打开并读取excel表格了但是发生一下问题:
    我的excel表格的第一列前两个数据分别是2550.79452和53142699,其在表格中设置为文本。
    导出以后发现这两个数据都为空,不知何原因,请帮忙解决。
    万分感谢!!!!
      

  11.   

    你先试着读出数据,并用ShowMessage把它显示出来。
    如果显示不出来,则说明未读取到!