新接了一个需求,要求将excel文件的数据导入到SQL中,遇到了俩个问题,请大家帮忙。
1. 如何读取excel的表头,我读取的为什么总是从第2行的数据开始的呢
2 我得数据库字段顺序是编号 名称 价格 但是导入的excel的表的结构有可能列是颠倒的 如 名称 价格 编号 怎么把颠倒的excel按照数据库表的正确顺序导入进去
3 如何在导入时创建数据库表,客户要求每导入一个文件,创建一个新表来接数据 菜鸟急问 请大侠指教啊,谢谢

解决方案 »

  1.   

    不知道你具体sql1。一般来说,excel的表头是做为字段名的,你可以加一行
    2。导入时写出字段名
    3。可以用select  into  from  
    *****************************************************************************
    欢迎使用CSDN论坛阅读器 : CSDN Reader(附全部源代码) 
    http://www.cnblogs.com/feiyun0112/archive/2006/09/20/509783.html
      

  2.   

    1建立测试excel
    假定它第一排是标头,且含有价格/名称/编号字段
    假定工作表名为sheet1
    内容如下:
    名称 价格 编号
    A 122 1
    B 2.4 12
    C 58 32使用ado.net连接并读取excel
    using System;
    using System.Collections.Generic;
    using System.Data.OleDb;public class MyClass
    {
    public static void Main()
    {
    try{
    OleDbConnection conn=new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\\readxls.xls;Extended Properties=\"Excel 8.0;HDR=YES;\"");
    OleDbCommand  comm=new OleDbCommand();
    comm.Connection=conn;
    conn.Open();
    comm.CommandText="select * from [sheet1$]";
    OleDbDataReader oddr=comm.ExecuteReader();
    while(oddr.Read()){
       Console.WriteLine("名称:{0}\t编号:{1}\t价格:{2}",oddr["名称"],oddr["编号"],oddr["价格"]);
    }
    conn.Close();
    }
    catch(Exception e){
    Console.WriteLine(e.ToString());
    }
    finally{
    Console.WriteLine("end of test");
    Console.Read();
    }

    }}运行结果:
    名称:A  编号:1  价格:122
    名称:B  编号:12 价格:2.4
    名称:C  编号:3  价格:58
    end of test
      

  3.   

    就是说客户的excel可能是不规范的 需要我在界面上将表头字段读出来供其确认 调整
      

  4.   

    如果你仅仅只需要导入excel至sql server
    也可以直接在sql server中直接执行
    select *
    into mytable
    from OpenRowSet('microsoft.jet.oledb.4.0','Excel 8.0;HDR=yes;database=d:\readxls.xls;','select * from [Sheet1$]')
    ps:如果是sql server 2005 
    请先执行
    sp_configure 'show advanced options', 1;
    GO
    RECONFIGURE;
    GO
    sp_configure 'Ad Hoc Distributed Queries', 1;
    GO
    RECONFIGURE;
    GO
      

  5.   

    我是在vs2003中用ASP.NET和VB.NET做的 还有一些其他的功能 必须先把excel的数据导进SQL Server 2000里面去
      

  6.   

    我是新手,需求比较乱,一下没有头绪,不知道用什么方法读excel的表头 现在读到库里的没有表头 需要把表头读到界面上
      

  7.   

    如果数据是手动的导入,这些都不是问题,
    用用SQL SERVER的企业管理器,里面有导入功能,,
      

  8.   

    需要这么麻烦么?你完全可以把excel先转成dbf,然后dbf导入SQL
      

  9.   

    Click the link to solve your problem.Good luck!