asp.net-mvc – 如何在Asp.Net MVC中导出到excel?
发布时间:2020-12-16 07:24:14 所属栏目:asp.Net 来源:网络整理
导读:脚本 function PostExportValues(meter_id,range_type_id,start_date,end_date,returnUrl) { var meter = $("#meter_selection").val()[0]; $.ajax({ url: '@Url.Action("GridExportToExcel","Widget")',type: 'POST',data: { MeterType: meter_id,DateRange
脚本
function PostExportValues(meter_id,range_type_id,start_date,end_date,returnUrl) { var meter = $("#meter_selection").val()[0]; $.ajax({ url: '@Url.Action("GridExportToExcel","Widget")',type: 'POST',data: { MeterType: meter_id,DateRangeType: range_type_id,StartDate: start_date,EndDate: end_date,returnUrl: returnUrl,Meter: meter },success: function () { alert("Success."); },error: function () { alert("Error!"); } }); //end ajax } //end PostExportValues CONTROLLER public void GridExportToExcel(int MeterType,int DateRangeType,DateTime? StartDate,DateTime? EndDate,string returnUrl,int Meter) { Customers customer = CustomerManager.GetCustomer(WebSecurity.CurrentUserId); //if start date is null,then set it to another early date. DateTime startDate = DateTimeManager.GetStartDate(StartDate,DateRangeType,customer.sno); //if end date is null,then set to date time now. DateTime endDate = DateTimeManager.GetEndDate(EndDate,StartDate); IQueryable<MeterReadingsForChart> meterReadings = MeterReadingManager.GetCustomerMeterReadings(customer.sno,MeterType,Meter,startDate,endDate,DateTimeManager.GetTimeIntervalTypeById(DateRangeType)).AsQueryable(); // MeterReadingManager.GetCustomerTotalMeterReadings(customer.sno,DateTimeManager.GetTimeIntervalTypeById(DateRangeType)).AsQueryable(); var table = MeterReadingManager.GetMeterReadingsPivot(meterReadings,MeterType); //table output some thing like following: //T1 T2 T3 //10 20 25 //13 23 21 //15 26 27 var grid = new GridView(); grid.DataSource = table; grid.DataBind(); Response.ClearContent(); Response.AddHeader("content-disposition","attachment; filename=MyExcelFile.xls"); Response.ContentType = "application/excel"; StringWriter sw = new StringWriter(); HtmlTextWriter htw = new HtmlTextWriter(sw); grid.RenderControl(htw); Response.Write(sw.ToString()); Response.End(); //return View("Index"); } 方法GridExportToExcel正在运行,脚本警报消息为Success.,但没有行动(没有任何反应). 我错过了什么?我希望excel文件自动下载. 谢谢… 解决方法
您无法在ajax查询上调用文件下载,因为浏览器不会触发文件下载.不要使用ajax调用你的控制器方法,你可以使用喜欢
window.open("url/Exporttoexcel?id="); 添加参数. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc-3 – ASP.NET MVC 3,RavenDB和Autofac Issue P
- asp.net-web-api – 刷新令牌 – 服务器端存储和撤销多个客
- "<a href='../目录" +变量+ 
- asp.net-mvc – Sitecore在我的MVC解决方案中提供了一个空白
- asp.net中的SqlDependency
- asp.net – Excel Automation Workbooks.Open失败:“无法获
- asp.net-mvc – 布局和不同的内容和样式,复杂的MVC4应用程序
- asp.net-mvc – 如何传递特殊字符使ASP.NET MVC可以正确处理
- asp.net-mvc-4 – 带有附加属性的ScriptBundle
- asp.net-mvc – ASP.NET Web API – Windows窗体应用程序中
推荐文章
站长推荐
- asp.net-web-api – 在Windows服务中使用OWIN托管
- asp.net-mvc-2 – 前端控制器,页面控制器?
- asp.net-mvc – SQL Azure得到一个错误’已经有一
- ABP官方文档(六)【集成OWIN,调试】
- asp.net – 无法安装Microsoft.AspNet.Razor 3.0
- 如何在ASP.Net MVC中实现ReverseAJAX(Comet)
- .net – 使用新技术时的安全问题
- asp.net-mvc – 无法通过kendo上传从一个视图到另
- ASP.NET MVC another entity of the same type a
- asp.net-mvc-3 – IIS中缺少UrlRoutingModule
热点阅读