http://www.cnblogs.com/huobazi/archive/2004/04/27/7771.aspx

解决方案 »

  1.   

    asp.net中使用Excel表不行啊,这是微软的一个bug.
      

  2.   

    如果你的excel中没有复杂的格式信息,可以用如下方法读进ds
    public bool ReadExcelToDataSet(string strFileName,string strSheet,System.Data.DataSet ds)
    {
    try
    {
    string strConn;
    strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" +
    "Data Source="+strFileName+";Extended Properties=Excel 8.0;";
    string strSQLCommand="SELECT * FROM ["+strSheet+"$]";
    System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection(strConn);
    System.Data.OleDb.OleDbDataAdapter myCommand = new System.Data.OleDb.OleDbDataAdapter(strSQLCommand, strConn);
    myCommand.Fill(ds,strSheet);
    return true;
    }
    catch 
    {
    return false ;
    }
    }
      

  3.   

    如果想直接写进数据库(MSSQL Server)
    INSERT INTO table(a1,b1,c1) --表的列名
        SELECT a1,b1,c1    --excel中的列名,可以跟数据库中的不同
        FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
       'Data Source="C:\EXCEL\temp.xls";User =Admin;Password=;Extended properties=Excel 8.0')...[Sheet1$]
        WHERE 条件
      

  4.   

    上面打错了个地方
    应该是User ID=Admin
      

  5.   

    用Microsoft Office Web Components吧 ,里面有个ISpreadsheet接口
      

  6.   

    怎么定义个excel文件的字段?
      

  7.   

    INSERT INTO GY(GYBH,XM) --表的列名
       SELECT A1,B1    --excel中的列名,可以跟数据库中的不同
        from OPENROWSET('MICROSOFT.JET.OLEDB.4.0'
    ,'Excel 5.0;HDR=YES;DATABASE=F:\TEST.xls',sheet1$)我在查询分析器中执行
    报错了:服务器: 消息 7399,级别 16,状态 1,行 1
    OLE DB 提供程序 'MICROSOFT.JET.OLEDB.4.0' 报错。提供程序未给出有关错误的任何信息。