← 返回所有博客文章

在文章 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 产品新功能:点击下载