使用datagrid导入excel,第二次导入excel的表头和第一次导入不同时,第一次导入的表头还在。这样第二次导入的时候会多一行空白行。
我用dataset.clear()只清除了表的内容,请问如何在第二次导入时清除第一次导入的表头?另外还有导出datagrid的数据后,怎么同时更新datagrid的数据

解决方案 »

  1.   


    同时执行两次,第一次执行如上图所示,第二次执行是下图这样的,第一次导入的excel表头没有删除,怎么解决??
      

  2.   

    上面第二次图错了
    第二次导入的excel表头跟第一次的不是一致的,导入之后如下图显示:
      

  3.   

    谢各位关注
    Code----
    string urlPath = HttpContext.Current.Request.ApplicationPath + "/Temp/";//在服务器上建立临时文件
    string path = HttpContext.Current.Server.MapPath(urlPath);
    string excelPath = path + source2;
    fileOpen.PostedFile.SaveAs(excelPath);string Connstr = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source = '"+ excelPath +"'; Extended Properties = Excel 8.0";
    string query = "SELECT * FROM [sheet1$]";OleDbCommand oleCommand = new OleDbCommand(query,new OleDbConnection(Connstr));
    OleDbDataAdapter oleAdapter = new OleDbDataAdapter(oleCommand);
    //DataSet myDataSet = new DataSet();
    //将Excel的sheet1表内容填充到DataSet对象myDataSet.Clear();//清除datagrid内容
    DataGrid1.DataSource = null;oleAdapter.Fill(myDataSet,"[Sheet1$]");
    int i=oleAdapter.Fill(myDataSet); //
    //数据绑定到datagrid中
    this.DataGrid1.DataSource = myDataSet;
    this.DataGrid1.DataMember= "[Sheet1$]";
    this.DataGrid1.DataBind();System.IO.File.Delete(excelPath);//删除临时文件
    ----
      

  4.   

    在页面载入时加   if(!Page.IsPostBack)