Я пытаюсь заставить этот код работать, чтобы возвращать файл excel, но я получаю исключение из памяти. любая идея, как я могу ее решить. то очевидно, что есть способ много записей в there.It работают в другом местеasp.net mvc out of memory error
GridView gv = new GridView();
List<ExportReportInvoice> list = _commonSer.ExportReportInvoice(data.OrderByDescending(m=>m.MediaPlanBillingInvoiceId));
gv.DataSource = list;
gv.DataBind();
Response.ClearContent();
Response.Buffer = true;
Response.AddHeader("content-disposition", "attachment; filename=Sheet.xls");
Response.ContentType = "application/ms-excel";
Response.Charset = "";
StringWriter sw = new StringWriter();
HtmlTextWriter htw = new HtmlTextWriter(sw);
gv.RenderControl(htw);
Response.Output.Write(sw.ToString());
Response.Flush();
Response.End();
public List<ExportReportInvoice> ExportReportInvoice(IOrderedQueryable<MediaPlanRO> roslist)
{
if (roslist.Count() > 0)
{
List<ExportReportInvoice> repo = new List<ExportReportInvoice> { };
foreach (var r in roslist)
{
ExportReportInvoice rep = new ExportReportInvoice();
rep.RONo = r.RONo;
rep.InvStatus = r.IsInvoiceGenerated == true ? "Generated" : "Pending";
rep.CampaignNo = r.MediaPlan.Campaign.CampaignId;
rep.InsDate = string.Format("{0:dd MMM yyyy}", r.MediaPlanROPrints.FirstOrDefault().MediaPlanPrint.StartDate);
rep.Client = r.MediaPlan.Campaign.Company.Name;
rep.Sublient = C_SubClients;
rep.Publication = r.MediaPlanROPrints.FirstOrDefault().MediaPlanPrint.Company.Name;
rep.Size = Math.Round(r.MediaPlanROPrints.FirstOrDefault().MediaPlanPrint.Width * r.MediaPlanROPrints.FirstOrDefault().MediaPlanPrint.Height, 0)
+ "(" + Math.Round(r.MediaPlanROPrints.FirstOrDefault().MediaPlanPrint.Width, 0) + "x" + Math.Round(r.MediaPlanROPrints.FirstOrDefault().MediaPlanPrint.Height, 0) + ")";
rep.Rate = r.MediaPlanROPrints.Sum(s => s.MediaPlanPrint.RoRate).ConvertToDecimal();
rep.RoAmount = r.MediaPlanROPrints.Sum(s => s.MediaPlanPrint.Amount).ConvertToDecimal();
rep.EstAmount = r.MediaPlanROPrints.Sum(s => s.MediaPlanPrint.EstimatedAmount).ConvertToDecimal();
repo.Add(rep);
}
return repo;
}
else return null;
}
На какой линии? Что такое '_commonSer.ExportReportInvoice'? Почему ваш вопрос помечен как 'asp.net-mvc', если вы используете элемент управления« GridView »? –
Это код mvc application.my. ошибка компиляции отсутствует. _commonSer.ExportReportInvoice - это общий список – maztt
'_commonSer.ExportReportInvoice' не может быть общим списком. Это функция, определенная на экземпляре '_commonSer'. Так вы хотели бы рассказать нам немного больше об этом? Трудно помочь, не зная подробностей. –