为什么我的这段程序总是从Excel数据的第二行开始读???
string ConnectionString = "Provider= Microsoft.Jet.OLEDB.4.0;Data Source='" + strPath + "';Extended Properties=Excel 8.0";
            OleDbConnection cnnxls = new OleDbConnection(ConnectionString);
            OleDbDataAdapter myDa = new OleDbDataAdapter("select * from [Sheet1$]", cnnxls);
            DataSet myDs = new DataSet();
            myDa.Fill(myDs, "table1");            if (myDs.Tables["table1"].Rows.Count != 0)
            {
               export=export.Append("<table   border=1  cellpadding=0 cellspacing=0>");
               for (int i = 0; i < myDs.Tables["table1"].Rows.Count; i++)
               {
                   export = export.Append("<tr><td>"+i+"</td>");
                   for (int j = 0; j < myDs.Tables["table1"].Columns.Count; j++)
                   {
                       export = export.Append("<td>");
                       export = export.Append(myDs.Tables["table1"].Rows[i][j].ToString());
                       export = export.Append("</td>");
                   }
                   export = export.Append("</tr>");
               }
                export=export.Append("</table>");
            }

解决方案 »

  1.   

    修改下连接字符串试试
    string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + sPath + ";Extended Properties='Excel 8.0;HDR=YES;IMEX=1'"; 
    HDR表示要把第一行作为数据还是作为列名,作为数据用hdr=no,作为列名用hdr=yes
      

  2.   

    报错:
    找不到可安装的 ISAM
      

  3.   

    解决了,楼的说的是对的,刚才把'Excel 8.0;HDR=YES;IMEX=1'写成了'Excel 8.0;HDR=YES;IMEX=1'
      

  4.   

    我测试正常using System.Data.OleDb;string strConn;
    string spath = @"d:\aa.xls";
    DataSet ds = new DataSet();
    strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + spath + ";Extended Properties='Excel 8.0;HDR=YES;IMEX=1'";OleDbConnection conn = new OleDbConnection(strConn);
    OleDbDataAdapter xlsDA = new OleDbDataAdapter("SELECT * FROM [Sheet1$]", conn);
    //将DA数据填充到DS
    xlsDA.Fill(ds, "data");
    //将DS与DataGrid关联
    dataGrid1.DataSource = ds;
    dataGrid1.SetDataBinding(ds, "data");