Failed - network error when downloading excel file made by EPPlus.dll

∥☆過路亽.° 提交于 2019-12-12 08:23:31

问题


I try to download an excel file made by EPPlus.dll from an asp.net c# web form application. but i get Failed - network error. It should be noted that mentioned error just occurs in chrome and the job can be done successfully in another browsers.

by the way this error does not occure on my localhost and it happens only on the main server.

It would be very helpful if someone could explain solution for this problem.

http://www.irandnn.ir/blog/PostId/29/epplus


回答1:


Try this:

using (ExcelPackage p = new ExcelPackage())
{
    //Code to fill Excel file with data.


    Byte[] bin = p.GetAsByteArray();

    Response.ClearHeaders();
    Response.ClearContent();
    Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
    Response.AddHeader("Content-Disposition", string.Format("attachment;filename={0}", Nombre_Del_Libro + ".xlsx"));
    Response.BinaryWrite(bin);
    Response.Flush();
    Response.End();
}   



回答2:


I had the same problem when I was using Response.Clear() and Response.Close() and had to avoid them to look my code as below which is working.

Response.Buffer = true;
Response.ContentType = mimeType;
Response.AddHeader("Content-Disposition", "attachment; filename=" + nameOfFile);
Response.BinaryWrite(bytes);
Response.End();



回答3:


I prefer not use response.End() because throw an exception

    protected void DownloadFile(FileInfo downloadFile, string downloadFilename, string downloadContentType)
    {
        Byte[] bin = File.ReadAllBytes(downloadFile.FullName); 

        Response.ClearHeaders();
        Response.ClearContent();
        Response.ContentType = downloadContentType;
        Response.AddHeader("Content-Disposition", string.Format("attachment;filename={0}", downloadFilename ));
        Response.BinaryWrite(bin);
        Response.Flush();
        Response.SuppressContent = true; 
    }



回答4:


I had the same problem and I solved with the code below, note the quotes in filename=\"Name.xlsx\":

Response.Buffer = true;
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
Response.AppendHeader("content-disposition", "attachment; filename=\"Name.xlsx\"");
//Writeout the Content  
Response.BinaryWrite(bytes);



回答5:


I am exporting html table code which is in string variable HTML

Following Code Working For Me

byte[] myFile = Encoding.ASCII.GetBytes(HTML);
        Response.Clear();
        Response.Buffer = true;
        Response.AddHeader("Content-Type", "application/excel");
        Response.AddHeader("Content-Disposition", string.Format("attachment;filename={0};", "BAGrowthReport.xls"));
        Response.AddHeader("content-length", myFile.Length.ToString()); //Here is the additional header which is required for Chrome.
        Response.BinaryWrite(myFile);
        Response.Flush();
        Response.Close();


来源:https://stackoverflow.com/questions/39617706/failed-network-error-when-downloading-excel-file-made-by-epplus-dll

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!