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