源码如下: string strConn; 
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("city.xls")+";Extended Properties=Excel 8.0;"; 
OleDbConnection conn=new OleDbConnection(strConn);
OleDbDataAdapter myCommand = new OleDbDataAdapter("SELECT * FROM [Sheet1$]",conn); 
DataSet myDataSet = new DataSet(); 
myCommand.Fill(myDataSet,"city"); 
DataGrid1.DataSource = myDataSet.Tables["city"].DefaultView; 
DataGrid1.DataBind(); 调试时出现如下错误:'Sheet1$' 不是一个有效名称。请确认它不包含无效的字符或标点,且名称不太长。
行 29:  myCommand.Fill(myDataSet,"city");请问怎样解决这个问题?

解决方案 »

  1.   

    try
    {
    string source=this.File1.Value;//取得excel文件的路径
    string connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+source+";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1'";
    string query="select * from [Sheet1$]";
    OleDbConnection conn=new OleDbConnection(connstr);
    conn.Open();
    OleDbCommand oleCommand=new OleDbCommand(query,conn);
    OleDbDataAdapter oleAdapter=new OleDbDataAdapter(oleCommand);
    DataSet myDataSet=new DataSet();
    oleAdapter.Fill(myDataSet,"[Sheet1$]");
    this.DataGrid1.DataSource=myDataSet;
    this.DataGrid1.DataMember="[Sheet1$]";
    this.DataGrid1.DataBind();
    }
    catch(Exception exx)
    {
    this.TextBox1.Text=exx.ToString();
    }
      

  2.   

    老兄,还是不行啊,还是出现这个错误:'Sheet1$' 不是一个有效名称。请确认它不包含无效的字符或标点,且名称不太长那位高手还有什么绝招啊,请指点!!!!
      

  3.   

    你要打开的Excel Sheet页名字是Sheet1吗?
      

  4.   

    sheet1是默认的名字,看看你的那个sheet叫什么名字