J'essaie de servir un document lorsqu'un utilisateur clique sur un bouton, mais la feuille Excel n'est pas téléchargée. Rien ne se passe, pas d'erreurs ou quoi que ce soit, je l'ai enveloppé dans un essai et attraper mais il ne donne pas d'erreurs, il obtient le Response.Flush()
et Response.End()
et rien ne se passe.Document non utilisé
La table utilisée pour construire la feuille excel est une donnée qui est importée de la BD.
J'utilise ClosedXML
code
DataTable table = new DataTable();
table = dtResults.Copy();
table.Merge(dtResultsAll);
table.TableName = "LookupData";
using (XLWorkbook wb = new XLWorkbook())
{
wb.Worksheets.Add(table);
Response.Clear();
Response.Buffer = true;
Response.Charset = "";
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
Response.AddHeader("content-disposition", "attchment;filename=AuditReport.xlsx");
using (MemoryStream MyMemoryStream = new MemoryStream())
{
wb.SaveAs(MyMemoryStream);
MyMemoryStream.WriteTo(Response.OutputStream);
Response.Flush();
Response.End();
}
}
Si vous comparez votre code à [l'exemple suivant] (https://github.com/closedxml/closedxml/wiki/Deliver- an-Excel-file-in-ASP.NET), vous remarquerez que votre entête est mal orthographiée: 'attchment'vs. 'attachement'. – Filburt
Iv a changé cela mais il fait toujours la même chose –
J'ai copié l'exemple de code lié et cela a fonctionné comme prévu. Je l'ai changé pour utiliser un DataTable similaire à votre code et cela a toujours fonctionné. Je vous recommande de retravailler votre code pour ressembler à l'exemple. – Filburt