Problem when downloading .xlsx in Chrome Error: network error

2

When I want to export a list of type IEnumerable from Chrome it gives me an error that says "Error: network error". I try it in Firefox and it's ok, download the file. Someone will know how to solve this, or have an alternative (another method to download the xls?)

 private void ExportXls(IEnumerable list, string NameFile)
        {
            var workbook = new Workbook();
            workbook.Worksheets.Add(new Worksheet("Datos"));
            var worksheet = workbook.Worksheets[0];

            var ws = worksheet;

            ws.GenerateByIEnumerable(list);





            HttpResponse response = System.Web.HttpContext.Current.Response;
            response.Clear();
            response.ContentType = "application/octet-stream";
            response.AppendHeader("Content-Disposition", "attachment; filename=\"" + NameFile + "_" + DateTime.Now.ToString("yyyyMMdd") + ".xlsx" + "\"");
            workbook.Save(response.OutputStream);
            response.Flush();
            response.Close();
            response.End();
        }

    
asked by Ariel Octavio D'Alfeo 25.01.2018 в 23:09
source

1 answer

1

I could solve it by taking the response.Close() and changing the response.ContentType = "application/octet-stream" by "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" ;

private void ExportXls(IEnumerable list, string NameFile)
        {
            var workbook = new Workbook();
            workbook.Worksheets.Add(new Worksheet("Datos"));
            var worksheet = workbook.Worksheets[0];

            var ws = worksheet;

            ws.GenerateByIEnumerable(list);





            HttpResponse response = System.Web.HttpContext.Current.Response;
            response.Clear();
            response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
            response.AppendHeader("Content-Disposition", "attachment; filename=\"" + NameFile + "_" + DateTime.Now.ToString("yyyyMMdd") + ".xlsx" + "\"");
            workbook.Save(response.OutputStream);
            response.Flush();
           // response.Close();
            response.End();
        }
    
answered by 29.01.2018 / 14:00
source