MVC 使用FileResult导出文件
类别:编程学习 浏览量:3899
时间:2015-12-8 MVC 使用FileResult导出文件
MVC 使用FileResult导出文件MVC 使用FileResult导出文件的方式
1、使用FileContentResult
// 摘要:
// 通过使用文件内容,内容类型,文件名称创建一个FileContentResult对象//
// 参数:
// fileContents:
// 响应的二进制文件内容
//
// contentType:
// 内容类型(MIME类型)
//
// fileDownloadName:
// 显示在浏览器下载窗口的文件名称//
// 返回结果:
// 文件内容对象.
protected internal virtual FileContentResult File(byte[] fileContents, string contentType, string fileDownloadName);
备注
使用时需要将文件内容转化成字节数组byte[]
byte[] fileContents = Encoding.Default.GetBytes(sbHtml.ToString());
2、使用FileStreamResult
// 其他参数描述同FileContentResult
// 参数:
// fileStream:
// 响应的流
//
// 返回结果:
// 文件流对象.
protected internal virtual FileStreamResult File(Stream fileStream, string contentType, string fileDownloadName);
备注
使用时需要将文件内容转化成流
var fileStream = new MemoryStream(fileContents);
3、使用FilePathResult
// 其他参数描述同FileContentResult
// 参数:
// fileName:
// 响应的文件路径
//
// 返回结果:
// 文件流对象.
protected internal virtual FilePathResult File(string fileName, string contentType, string fileDownloadName);
备注
使用时服务器上首先必须要有这个Excel文件,然会通过Server.MapPath获取路径返回.
二、MVC 使用FileResult导出文件实例
public FileResult ExportExcel()
{
var sbHtml = new StringBuilder();
sbHtml.Append("<table border='1' cellspacing='0' cellpadding='0'>");
sbHtml.Append("<tr>");
var lstTitle = new List<string> { "编号", "姓名", "年龄", "创建时间" };
foreach (var item in lstTitle)
{
sbHtml.AppendFormat("<td style='font-size: 14px;text-align:center;background-color: #DCE0E2; font-weight:bold;' height='25'>{0}</td>", item);
}
sbHtml.Append("</tr>");
for (int i = 0; i < 1000; i++)
{
sbHtml.Append("<tr>");
sbHtml.AppendFormat("<td style='font-size: 12px;height:20px;'>{0}</td>", i);
sbHtml.AppendFormat("<td style='font-size: 12px;height:20px;'>屌丝{0}号</td>", i);
sbHtml.AppendFormat("<td style='font-size: 12px;height:20px;'>{0}</td>", new Random().Next(20, 30) + i);
sbHtml.AppendFormat("<td style='font-size: 12px;height:20px;'>{0}</td>", DateTime.Now);
sbHtml.Append("</tr>");
}
sbHtml.Append("</table>");
//第一种:使用FileContentResult
byte[] fileContents = Encoding.Default.GetBytes(sbHtml.ToString());
return File(fileContents, "application/ms-excel", "fileContents.xls");
//第二种:使用FileStreamResult
var fileStream = new MemoryStream(fileContents);
return File(fileStream, "application/ms-excel", "fileStream.xls");
//第三种:使用FilePathResult
//服务器上首先必须要有这个Excel文件,然会通过Server.MapPath获取路径返回.
var fileName = Server.MapPath("~/Files/fileName.xls");
return File(fileName, "application/ms-excel", "fileName.xls");
}
标签:MVC
您可能感兴趣
- windows server 2008r2怎么安装(Windows Server2008 R2 MVC 环境安装配置教程)
- MVC过滤器的用法
- mvc JavaScriptResult的用法
- mysql mvcc 隔离级别(详解MySQL事务的隔离级别与MVCC)
- MVC中报get_RazorKeywords()错误的解决方法
- mysql数据结构讲解(详解MySQL 数据库隔离级别与MVCC)
- MVC中使用jQuery加载分部视图(PartialView)
- php入门教程环境搭建教程(PHP从零开始打造自己的MVC框架之入口文件实现方法详解)
- mysql乐观锁与mvcc(MySQL中的乐观锁,悲观锁和MVCC全面解析)
- MVC中BeginForm
- MVC 使用FileResult导出文件
- MVC中数据验证
- mvc中Scripts.Render、Styles.Render
- mvc中partialview
- mvc中validateinput属性失效
- MVC中JS获取后台的数据
- 马来西亚旅游攻略(马来西亚旅游攻略自由行攻略)
- 缅甸旅游攻略(缅甸旅游攻略必去景点推荐)
- 《庆余年2》新消息,原班人马,肖战特别出演,这才是最好的安排(庆余年2新消息原班人马)
- 宁夏灵武恐龙化石发现始末(宁夏灵武恐龙化石发现始末)
- 到了岁末 临门一脚 节点,天台综合督评会目标直指 全年红(到了岁末临门一脚)
- 寒假余额不满24小时,不如来一场说走就走的亲子阅读之旅(寒假余额不满24小时)
热门推荐
- docker怎么部署node-exporter(Docker搭建部署Node项目的方法步骤)
- docker镜像无法删除 Error:No such image:xxxxxx解决(docker镜像无法删除 Error:No such image:xxxxxx解决)
- css控制div上下移动(CSS鼠标悬浮DIV后显示DIV外的按钮解决方法)
- 运维堡垒机怎么搭建(堡塔云控平台添加服务器受控端图文教程)
- js柯里函数的应用场景(深入详解JS函数的柯里化)
- 微信小程序计数器代码(微信小程序实现计算器案例)
- dede菜单激活状态(DEDE采集大师官方留后门的删除办法)
- docker启动k8s(k3d入门指南之在Docker中运行K3s的详细教程)
- mysql整体架构设计(MySQL 整体架构介绍)
- SQL Server表分区