Je souhaite exporter certaines données dynamiques d'un site Web ASP.NET vers Excel. J'ai trouvé que le moyen le plus simple qui ne nécessite pas d'utiliser Excel XML ou d'installer Excel sur la machine serveur est de output data as a table et de spécifier le type d'application /vnd.ms-excel.L'exportation vers Excel à partir d'ASP.NET produit des fichiers illisibles avec Excel Viewer
Le problème est quand je le fais et essayez d'ouvrir le fichier dans Excel Viewer, je reçois le message d'erreur suivant:
Microsoft Excel Viewer ne peut pas ouvrir fichiers de ce type.
Puis rien n'est ouvert.
Même un code plus facile comme:
protected void Page_Load(object sender, EventArgs e)
{
Response.Clear();
Response.Buffer = true;
HttpContext.Current.Response.AddHeader("content-disposition", "attachment; filename=Example.xls");
Response.ContentType = "application/vnd.ms-excel";
StringWriter stringWriter = new System.IO.StringWriter();
HtmlTextWriter htmlTextWriter = new System.Web.UI.HtmlTextWriter(stringWriter);
dataGrid.RenderControl(htmlTextWriter);
Response.Write("<html><body><table><tr><td>A</td><td>B</td></tr><tr><td>C</td><td>D</td></tr></table></body></html>");
Response.End();
}
produit la même erreur.
Qu'est-ce qui peut causer un tel comportement? Est-ce parce que le Viewer ne peut pas lire de tels fichiers, mais la version complète d'Excel peut?
Alors, Excel ** va-t-il ** lire ces données HTML à coup sûr? –
Absolument. Cela fonctionne comme un champion. –