FileResult 是一个抽象类,继承自 ActionResult。我们可以使用它的子类向客户端发送文件。
最近项目中需要对某个表格导出位Excel为表格,正好使用了到它,将列表数据构造为html的Table即可。
chrom下没问题,其他浏览器兼容性还未测试,先记录下来。在controler中定义如下:
public FileResult HtmlTOExcel(ListsurveryList) { var sbHtml = new StringBuilder(); Html.Append(" { "编号", "题目", "创建时间" }; foreach (var item in list) { Html.AppendFormat(" "); Html.Append("
"); //使用FileContentResult byte[] fileContents = Encoding.Default.GetBytes(Html.ToString()); byte[] fileContents = Encoding.UTF8.GetBytes(Html.ToString());//使用utf-8编码,解决中文乱码问题 string filename="调查列表"+DateTime.Now.tos("yyyy-MM-dd")+".xls"; return File(fileContents, "application/ms-excel",filename); }"); var list= new List "); foreach (var s in surveryList) { Html.Append("{0} ", item); } Html.Append(""); Html.AppendFormat(" "); } Html.Append("{0} ", s.Id); Html.AppendFormat("{0} ", s.Title); Html.AppendFormat("{0} ", DateTime.Now); Html.Append("