C # Lisez un excel et que Excel est créé en convertissant Gridview dans Excel

1) Lors de la lecture de cet excellent. Je reçois une erreur comme "la table externe n'est pas dans le format attendu".

2) Lorsque vous essayez d'ouvrir un file excel via un double clic, vous recevez ça comme ça

"Le file que vous lier pour ouvrir," just.xls ", est dans un format différent de celui spécifié par l'extension de file. Vérifiez que le file n'est pas corrompu et provient d'une source de confiance avant d'ouvrir le file. Voulez-vous ouvrir le file maintenant? "

Veuillez donner une solution. Qu'est-ce qui ne s'est pas produit dans ce cas? Aidez-nous …! c # asp.net excel

J'utilise ci-dessous Code pour convertir Gridview dans Excel: –

ssortingng myfilename ="Attendenceformat" ; ssortingng attachment = "attachment; filename=" + myfilename + ".xls"; Response.Cache.SetCacheability(HttpCacheability.NoCache); Response.AddHeader("content-disposition", attachment); Response.ContentType = "application/ms-excel"; SsortingngWriter swriter = new SsortingngWriter(); HtmlTextWriter htmlwriter = new HtmlTextWriter(swriter); // Create a form to contain the gridview(MyGridView) HtmlForm mynewform = new HtmlForm(); GridView1.Parent.Controls.Add(mynewform); mynewform.Atsortingbutes["runat"] = "server"; mynewform.Controls.Add(GridView1); mynewform.RenderControl(htmlwriter); Response.Write(swriter.ToSsortingng()); Response.End(); 

Code pour download que Excel généré est ci-dessous

  if ((txtFilePath.HasFile)) { OleDbConnection conn = new OleDbConnection(); OleDbCommand cmd = new OleDbCommand(); OleDbDataAdapter da = new OleDbDataAdapter(); DataSet ds = new DataSet(); DataTable dt = new DataTable(); ssortingng query = null; ssortingng connSsortingng = ""; ssortingng strFileName = txtFilePath.FileName; //ssortingng strFileName = DateTime.Now.ToSsortingng("ddMMyyyy_HHmmss"); ssortingng strFileType = System.IO.Path.GetExtension(txtFilePath.FileName).ToSsortingng().ToLower(); //Check file type if (strFileType == ".xls" || strFileType == ".xlsx") { //print progressbar txtFilePath.SaveAs(Server.MapPath("~/UploadedExcel/" + strFileName + strFileType)); } else { lblMessage.Text = "Only Excel files(.xls or .xlsx) allowed"; lblMessage.ForeColor = System.Drawing.Color.Red; lblMessage.Visible = true; return; } ssortingng strNewPath = Server.MapPath("~/UploadedExcel/" + strFileName + strFileType); //Connection Ssortingng to Excel Workbook if (strFileType.Trim() == ".xls") { connSsortingng = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strNewPath + ";Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=2\""; } else if (strFileType.Trim() == ".xlsx") { connSsortingng = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + strNewPath + ";Extended Properties=\"Excel 12.0;HDR=Yes;IMEX=2\""; } conn = new OleDbConnection(connSsortingng); cmd.Connection = conn; conn.Open(); dt = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null); if (dt == null) { lblMessage.Text = "Upload Excel files"; lblMessage.ForeColor = System.Drawing.Color.Red; lblMessage.Visible = true; } ssortingng SheetName = dt.Rows[0]["TABLE_NAME"].ToSsortingng(); query = "SELECT [Id],[RollNo],[Name],[Branch],[Sem],[Year],[Batch],[Subject],[Sessional],[Attendence],[OutOff] FROM [Attendenceformat(1)$]"; //Create the connection object //Open connection if (conn.State == ConnectionState.Closed) conn.Open(); //Create the command object cmd = new OleDbCommand(query, conn); // cmd.Parameters.Add("stid",null); da = new OleDbDataAdapter(cmd); ds = new DataSet(); da.Fill(ds); grvExcelData.DataSource = ds.Tables[0]; grvExcelData.DataBind(); lblMessage.Text = "Data resortingeved successfully! Total Recodes:" + ds.Tables[0].Rows.Count; lblMessage.ForeColor = System.Drawing.Color.Green; lblMessage.Visible = true; da.Dispose(); conn.Close(); conn.Dispose(); } else { lblMessage.Text = "Please select an excel file first"; lblMessage.ForeColor = System.Drawing.Color.Red; lblMessage.Visible = true; } } catch (Exception em) { lblMessage.Text = em.Message; lblMessage.Visible = true; } } 

Jetez un oeil sur ces liens:

Lire datatables d'un file Excel (.xls) dans ASP.NET

Comment exporter des données vers Excel à partir d'une application ASP.NET

J'espère que cette aide