使用FileResult导出Excel数据文件
第一种:使用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());
第二种:使用FileStreamResult
- // 其他参数描述同FileContentResult
- // 参数:fileStream:响应的流
- // 返回结果:文件流对象.
- protected internal virtual FileStreamResult File(Stream fileStream, string contentType, string fileDownloadName);
需要将文件内容转化成流
- var fileStream = new MemoryStream(fileContents);
第三种:使用FilePathResult
- // 其他参数描述同FileContentResult
- // 参数:fileName:响应的文件路径
- // 返回结果:文件流对象.
- protected internal virtual FilePathResult File(string fileName, string contentType, string fileDownloadName);
服务器上首先必须要有这个Excel文件,然会通过Server.MapPath获取路径返回.
具体详情请看代码:
- ExportExcel Code
- 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 = ; i < ; 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(, ) + 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");
- }
使用FileResult导出Excel数据文件的更多相关文章
- Asp.Net MVC 使用FileResult导出Excel数据文件
MVC实现Excel导出功能,今天来记录一下. 采取了最简单的方法.(转载) 用的是Html拼接成Table表格的方式,返回 FileResult 输出一个二进制的文件. 第一种:使用FileCo ...
- Asp.Net 导出Excel数据文件
表格例子如下: <table id="tableExcel" width="100%" border="1" cellspacing= ...
- [转载]ecshop 实现订单导出功能 指定订单导出 EXCEL 数据文件
当下很多功能都觉得理所当然,但是实际作为2012年停更的ECSHOP来说,很多功能其实都是缺少的,好比今天的要说的功能 订单导出 这个功能对于现在的产品设计来说,应该属于一个比较常规的功能,但是ECS ...
- 使用FileResult导出txtl数据文件
public FileResult ExportMobileNoTxt(SearchClientModel model){ var sbTxt = new StringBuilder(); ; i & ...
- NPOI 操作数据库中数据的导入导出(Excel.xls文件) 和null数据的处理。
App.config: <?xml version="1.0" encoding="utf-8" ?> <configuration> ...
- [转] Asp.Net 导出 Excel 数据的9种方案
湛刚 de BLOG 原文地址 Asp.Net 导出 Excel 数据的9种方案 简介 Excel 的强大之处在于它不仅仅只能打开Excel格式的文档,它还能打开CSV格式.Tab格式.website ...
- 使用PHPExcel导入导出excel格式文件
使用PHPExcel导入导出excel格式文件 作者:zccst 因为导出使用较多,以下是导出实现过程. 第一步,将PHPExcel的源码拷贝到项目的lib下 文件包含:PHPExcel.ph ...
- oracle-sql脚本导出EXCEL数据
在数据库中,经常有业务人员提出需求导出数据库中的业务数据,而且是每天.每周或每月定时导出.为了方便,可将sql查询的脚本 通过下面脚本来导出EXCEL数据. 1.将查询sql脚本(AAA.sql)放到 ...
- flask使用tablib导出excel数据表
在网页中常常有导出数据的需求,尤其是一下管理类平台.在flask中要导出excel数据表,通常可以使用xlwt库,创建文件并逐行写入数据,但是使用起来总是感觉很麻烦.tablib库相对操作更加方便. ...
随机推荐
- (未完成👃)You Don't Know JS: Scope & Closures (第5章: Scope & Closures)
Chapter 5: Scope Closure 我们到达这里时,已经对作用域如何工作有了非常健康稳固的理解. 下面,我们转移注意力到一个及其重要,但长期难以理解,几乎是神话中的部分语言:Closur ...
- Raspbian安装Opencv3
如果旧版本使用apt-get安装 sudo apt-get remove libopencv sudo apt-get remove opencv 如果旧版本使用编译安装 sudo make unin ...
- Spring boot(六)优雅使用mybatis
orm框架的本质是简化编程中操作数据库的编码,发展到现在基本上就剩两家了,一个是宣称可以不用写一句SQL的hibernate,一个是可以灵活调试动态sql的mybatis,两者各有特点,在企业级系统开 ...
- tcpcopy真实流量压测工具
https://quentinxxz.iteye.com/blog/2249799 http://blog.chinaunix.net/uid-25057421-id-5576741.html htt ...
- github上fork了别人的项目后,再同步更新别人的提交(转)
原文地址:github上fork了别人的项目后,再同步更新别人的提交 我从github网站和用git命令两种方式说一下. github网站上操作 打开自己的仓库,进入code下面. 点击new pul ...
- Git:创建与合并分支
1.1创建dev分支,使用命令符 git branch 分支名称. 1.2将HEAD指针切换到dev分支,使用命名符git checkout 分支名称. 注:创建并且转移可以合并为一个步骤,使用命令符 ...
- vue 小知识
图片: 1.img 的路径 <img :src="item.src"/> 2.背景图片的路径 v-bind:style="{backgroundImage: ...
- nodejs安装 淘宝镜像
1◆ nodejs下载 2◆ 安装 3◆ 测试 4◆ 淘宝镜像 npm install -g cnpm --registry=https://registry.npm.taobao.org 5 ...
- js之querySelector方法
querySelector()接受一个CSS选择符,返回匹配的第一个元素,反之则NULL. 如: var body = document.querySelector('body'); var mydi ...
- \x 和 0x 的区别
1.0x 表示整型数值 (十六进制) char c = 0x42; 表示的是一个数值(字母B对应的ASCII码—— 66),可以认为等价于: int c = 0x42; 2.\x42用于字符表达,或 ...