在文章 Spread for ASP.NET 表格控件 MVC5 教程 - Hello World 和 Spread for ASP.NET 表格控件 MVC5 教程 - 接口调用 中我们阐述了 Spread 在 MVC5 中的基础使用方法,本文中将为大家展示如何在 MVC5 中保存 Spread 控件内容到 PDF 和 Excel 文件中。
和普通的Web项目不同,在MVC Razor模板中,默认情况下视图页面不会添加 From 节点,而 Spread 传送数据到后台的媒介即为 Form 所以需要我们在前台中添加 Form。
测试代码如下:
@using (Html.BeginForm("Op_SaveToExcel", "Home", FormMethod.Post, new { id = "spreadForm" })) { Html.TextBox("TextBox1"); @Html.FpSpread("FpSpread1", x => { x.Width = 1000; x.Height = 400; x.ActiveSheetView.AllowColumnMove = true; x.ActiveSheetView.Cells[0, 0].Value = 100; });本示例中我们通过 Ajax 方式调用后台控制器中的方法:
<script type="text/javascript"> function SaveToExcel() { execAjax('@Url.Action("Op_SaveToExcel", "Home")', $('#spreadForm').serializeArray(), function (data) { }); } function execAjax(url, parameter, reCall) { $.ajax({ type: "POST", url: url, data: parameter, async: false, cache: false, beforeSend: function () { }, success: function (data) { } }); } </script>后台方法如下:
public ActionResult Op_SaveToExcel([FarPoint.Mvc.Spread.MvcSpread(true)]FarPoint.Mvc.Spread.FpSpread FpSpread1) { FpSpread1.SaveExcel(this.Server.MapPath("/test.xlsx"), FarPoint.Excel.ExcelSaveFlags.UseOOXMLFormat); return new JsonResult() { Data = new { test = 456 } }; //return null; }Demo 下载:mvc_ajax.zip (1.65 kb)
下载试用版,体验更多 Spread for ASP.NET 产品新功能:点击下载