Скачать файл excel с помощью C#
Я хочу получить данные из базы данных, написать в excel и скачать файл. Я использую код, приведенный ниже, и файл не может быть загружен, пока данные отображаются в предупреждении.
Что я уже пробовал:
Код контроллера приведен ниже
[HttpPost] public ActionResult ShipExportToExcel(string[] ShipID) { var products = new System.Data.DataTable("Person"); products.Columns.Add("Name ", typeof(string)); products.Columns.Add("Address", typeof(string)); products.Columns.Add("Mobile Number", typeof(string)); foreach (var i in ShipID) { int ID = Convert.ToInt32(i); Person obj_Person = new Person(); obj_Person = new BL_Person().GetPersonByID(ID ); if (obj_Person!= null) { products.Rows.Add(obj_Person .Name, obj_Person.ShipAddress, obj_Person .Cell); } } var grid = new GridView(); grid.DataSource = products; grid.DataBind(); Response.ClearContent(); Response.Buffer = true; Response.AddHeader("content-disposition", "attachment; filename=ExportByExcel.xls"); //Response.ContentType = "application/ms-excel"; Response.ContentType = "application/vnd.ms-excel"; Response.Charset = ""; StringWriter sw = new StringWriter(); HtmlTextWriter htw = new HtmlTextWriter(sw); grid.RenderControl(htw); Response.Output.Write(sw.ToString()); Response.Flush(); Response.End(); return View(); } view code......................... $('#btnSave').click(function () { var rowCount = $('Table >tbody >tr').length; if (rowCount > 0) { var data = { ShipID: shipmentItems } $.ajax({ url: "@Url.Action("ShipExportToExcel", "ExportToExcel", new { area = "Person" })", type: "POST", data: JSON.stringify(data), contentType: "application/json; charset=utf-8", success: function (d) { msgSuccess(d); }, error: function (request, error) { msgAlerts(error); } }); } else { msgAlerts("Please Enter the Record First"); }