string Conn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+path+";Extended Properties='Excel 8.0';";
OleDbConnection Conn=new OleDbConnection(Conn);
Conn.Open();//----------到这里老是出现异常--"导入的外部表格式不正确"这是为什么啊???
string SQL="select * from [sheet1$]";
OleDbDataAdapter da=new OleDbDataAdapter(SQL,Conn);
DataSet ds=new DataSet();
da.Fill(ds);
可我明明导入的就是EXCEL文件啊?(Excel2003 -vs2005)
郁闷中....

解决方案 »

  1.   

    strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+path+";Extended Properties=Excel 8.0;";
      

  2.   

    谢谢!!strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+path+";Extended Properties=Excel 8.0;";
    我也试过了还是会出现异常--->"外部表不是预期的格式"
      

  3.   

    path看看对不对,要用Server.MapPath
      

  4.   

    oe = new OpenFileDialog();//我用的是打开对话框  直接得到的路径
    .
    .
    .
    strFileDir = oe.FileName.ToString();
    ???Path应该是不会有问题吧!!!!
      

  5.   

    如果path确实没有错误的话,那就是 excel的文件问题吧
      

  6.   

    excel的文件问题???
    那是什么问题啊?晕~~~~我打开过啊!!!都可以访问
      

  7.   

    饿死.......ing
    吃饭去~~~~~:(
      

  8.   

    //创建数据连接
     objConn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + this.mFilePath + ";Extended Properties=\"Excel 8.0;IMEX=1;\"");     
     //获取工作簿中的表
     strSql = "select * from [" + sheetName + "$]";
      

  9.   

    谢谢,我也试过了但是也没有效果异常仍有
    更改为->
    Extended Properties=Excel 8.0;HDR=False;IMEX=1;后出现了不同的异常"找不到可安装的 ISAM" 这是什么意思啊?????
      

  10.   

    什么文件有问题?Excel?我新建了好几个都试过了啊!!!!!
      

  11.   

    你的Excel文件是否是标准格式的(office创建或用表准office com组件创建)?如果是用流格式生成的肯定不行!http://blog.csdn.net/ChengKing/archive/2006/08/10/1045853.aspx
      

  12.   

    你这个问题www.pudn.com中有人开源了,
    包括数据库调用, EXCEL文件读写, 定义基本数据.rar
      

  13.   

    /// <summary>
    /// 从Excel文件中读数据到DataSet
    /// </summary>
    /// <param name="strFileName">文件名</param>
    /// <param name="strSheetName">表单名</param>
    /// <returns>表单内容</returns>
    public static DataSet GetDataSetFromExcelFile(string strFileName, string strSheetName)
    {
    string strConn = String.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=Excel 8.0;", strFileName);
    string strSQL = String.Format("SELECT * FROM [{0}$] ", strSheetName );
    //OleDbConnection oledbConn = new OleDbConnection( strConn ); 
    //oledbConn.Open(); 
    OleDbDataAdapter ExcelDA = new OleDbDataAdapter(strSQL, strConn);
    DataSet ds = new DataSet();
    ExcelDA.Fill(ds, "ExcelInfo");
    ExcelDA.SelectCommand.Connection.Close();
    return ds;
    }