1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
//vide le buffer
Response.Clear();
//utilise un buffer de sortie
Response.BufferOutput = true;
// demande ouvrir enregistrer annuller
Response.AddHeader("Content-Disposition", "inline; filename=" + Server.HtmlEncode(fileName));
// ajoute au header la longueur du fichier
Response.AddHeader("Content-Length", excelFile.Length.ToString());
// la page expire dessuite
Response.Expires = 0;
// retire les informations en cache
Response.ExpiresAbsolute = DateTime.Now;
// désactive le cache
Response.Cache.SetNoStore();
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.CacheControl = "no-cache";
// Format Excel 2007
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
//Response.OutputStream.Write(excelFile, 0, excelFile.Length);
for (int i = 0; i < excelFile.Length; i++)
{
// écriture byte à byte du flux de sortie
Response.OutputStream.WriteByte(excelFile[i]);
}
// envoie de toutes les sorties bufferisées au client
Response.Flush();
// ferme le socket de connexion
Response.Close();
// envoie le EndRequest event
Response.End(); |
Partager