asp.net mvc - Exporting from MVC View to CSV (for Excel) -


this strange one, have working in controller code below filestreamresult comes in file has 84 of 100 results. variable searchresults contains 100 records.

if step through controller code @ runtime "sw.writeline(........." line inside loop executes 100 times expected.

so appears data being sent filestream being truncated.

after debugging i've no idea why happening since 100 records contain no nulls or odd data meta-characters or that. ever seen odd behaviour before or have ideas on this?

my controller code :

    public filestreamresult export(string searchtext, string searchtextsite, string startdate, string enddate)     {          var searchresults = getsearchresults(searchtext, searchtextsite, startdate, enddate);         httpcontext.response.addheader("content-disposition", "attachment; filename=export.csv");          var sw = new streamwriter(new memorystream());          sw.writeline("\"ref\",\"source\",\"collected\"");         foreach (var line in searchresults.tolist())         {             sw.writeline(string.format("\"{0}\",\"{1}\",\"{2}\"",                                        line.wasteid,                                        line.sourcewastetypeid.todescription(),                                        line.collecteddate.toshortdatestring()));         }         sw.basestream.seek(0, seekorigin.begin);          return new filestreamresult(sw.basestream, "text/csv");      } 

does stream need flushed before returning result? try sw.flush(); before seek


Comments

Popular posts from this blog

linux - Using a Cron Job to check if my mod_wsgi / apache server is running and restart -

actionscript 3 - TweenLite does not work with object -

jQuery Ajax Render Fragments OR Whole Page -