ASP.NET MVC 导出CSV文件
ASP.NET MVC 导出CSV文件、直接贴代码
/// <summary>
/// ASP.NET MVC导出CSV文件Demo1
/// </summary>
/// <returns></returns>
public ActionResult ExportDemo1()
{
System.IO.MemoryStream output = new System.IO.MemoryStream();
System.IO.StreamWriter writer = new System.IO.StreamWriter(output, System.Text.Encoding.UTF8);
writer.Write("姓名,性别,年龄");//输出标题,逗号分割(注意最后一列不加逗号)
writer.WriteLine();
//输出内容
for (int i = 0; i < 10; i++)
{
writer.Write("用户" + i + ",\"");//第一列
writer.Write("男\",\"");//中间列
writer.Write("20\",");//最后一列
writer.WriteLine();
}
writer.Flush();
output.Position = 0;
return File(output, "text/comma-separated-values", "demo1.csv");
}
/// <summary>
/// ASP.NET MVC导出CSV文件Demo2
/// </summary>
/// <returns></returns>
public ActionResult ExportDemo2()
{
//定义模版(标题、内容字段、格式化参数)
string[,] template = new string[,] {
{ "姓名,", "Name" ,"{0}"}
, { "性别,", "Sex","{0}" }
, { "年龄", "Age" ,"{0}"}
};
System.IO.MemoryStream output = new System.IO.MemoryStream();
System.IO.StreamWriter writer = new System.IO.StreamWriter(output, System.Text.Encoding.UTF8);
//输出标题
int lenght = template.GetLength(0);
for (int i = 0; i < lenght; i++)
writer.Write(template[i, 0]);
writer.WriteLine();
//输出内容
List<User> lstUser = GetUsers();
if (lstUser != null)
{
foreach (User user in lstUser)
{
for (int i = 0; i < lenght; i++)
{
writer.Write(string.Format(template[i, 2]
, user.GetType().GetProperty(template[i, 1]).GetValue(user, null)));
if (i == 0)
writer.Write(",\"");
else if (i == lenght - 1)
writer.WriteLine();
else if (i == lenght - 2)
writer.Write("\",");
else
writer.Write("\",\"");
}
}
}
writer.Flush();
output.Position = 0;
return File(output, "text/comma-separated-values", "demo2.csv");
}
http://blog.csdn.net/moyanruo/article/details/18699081
http://blog.csdn.net/binyao02123202/article/details/6865033
ashx 页面:
StringWriter writer = new StringWriter(); //输出内容
for (int i = 0; i < 10; i++)
{
writer.Write("用户" + i + ",\"");//第一列
writer.Write("男\",\"");//中间列
writer.Write("20\",");//最后一列
writer.WriteLine();
}
writer.Close();
HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=test.csv");
HttpContext.Current.Response.ContentType = "application/ms-excel";
HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312");
HttpContext.Current.Response.Write(writer);
HttpContext.Current.Response.End();
JS 导出方法
$("#SearchTitle").click(function () {
var url= UrlBase + 'Admin/Activity/Export';
window.open(url);
}
ASP.NET MVC 导出CSV文件的更多相关文章
- asp mvc 导出txt 文件泛型方法
asp mvc 导出txt 文件泛型方法分享: public static void ExportFile<T>(T obj) { StringBuilder str = new Stri ...
- ASP.NET MVC导出excel
ASP.NET MVC导出excel 要在ASP.NET MVC站点上做excel导出功能,但是要导出的excel文件比较大,有几十M,所以导出比较费时,为了不影响对界面的其它操作,我就采用异步的方式 ...
- 导出csv文件示例
导出csv文件示例 csv文件默认以英文逗号,做为列分隔符换行符\n作为行分隔符,写入到一个.csv文件即可.含有英文逗号,和换行符会发生数据输出会出现混乱,下面列出一些处理方法.特殊字符处理1.含有 ...
- mysql SQLyog导入导出csv文件
1.选择数据库表 --> 右击属性 --> 备份/导出 --> 导出表数据作为 --> 选择cvs --> 选择下面的“更改” --> 字段 --> 变量长度 ...
- 关于asp.net C# 导出Excel文件 打开Excel文件格式与扩展名指定格式不一致的解决办法
-----转载:http://blog.csdn.net/sgear/article/details/7663502 关于asp.net C# 导出Excel文件 打开Excel文件格式与扩展名指定格 ...
- PHP 读取/导出 CSV文件
工作中经常会有遇到导入/导出的需求,下面是常用的方法.读取CSV文件,可以分页读取,设置读取行数,起始行数即可.导出CSV文件,用两种方法进行实现. /** * 读取CSV文件 * @param st ...
- Web 端 js 导出csv文件(使用a标签)
前言 导出文件,使用最多的方式还是服务器端来处理.比如jsp 中使用response 的方式. 但是,有时候可能就想使用web 前端是否也可以把页面上的内容导出来呢? 比如说,导出页面的一个表格. 这 ...
- [代码示例]用Fine Uploader+ASP.NET MVC实现ajax文件上传
原文 [代码示例]用Fine Uploader+ASP.NET MVC实现ajax文件上传 Fine Uploader(http://fineuploader.com/)是一个实现 ajax 上传文件 ...
- PHP导出CSV文件出现乱码的解决方法
在做项目时碰到使用外语的情况下,我们就会使用UTF-8编码.但是,在用PHP导出CSV文件时,如果写入的数据是使用UTF-8编码的日语.韩语之类的外文,就会出现乱码. 要解决PHP生成CSV文件的乱码 ...
随机推荐
- 1sting 大数 递推
You will be given a string which only contains ‘1’; You can merge two adjacent ‘1’ to be ‘2’, or lea ...
- SOJ 3300_Stockholm Coins
[题意]给n个数,求一个数,使这个数能且只能由(n个数每个至少出现一次)表示.输出满足条件的最小的数. [分析](完全背包)如果有满足条件的最小的数,那么这个数只能是这n个数的和total,通过记录每 ...
- 安卓常见错误Unable to execute dex: java.nio.BufferOverflowException. Check the Eclipse log for stack trace.
Unable to execute dex: java.nio.BufferOverflowException. Check the Eclipse log for stack trace. 导入新的 ...
- MySQL查询去重语句
1.distinct select count(distinct CName) from Course select count(CName) from (select distinct CName ...
- centos7 禁止 root ssh login
CentOS 7 默认容许任何帐号透过 ssh 登入,包括 root 和一般帐号,为了不让 root 帐号被黑客暴力入侵,我们必须禁止 root 帐号的 ssh 功能,事实上 root 也没有必要 s ...
- node安装-Win+Linux+Mac osx
node下载地址,除了Mac osx或Win平台,仅有Linux平台命令安装. Win.Mac 点击即可下载(注:Mac有dmg和pkg安装格式). Linux分为Redhot和Deepin系列,安装 ...
- 怎样用fiddler2捕获移动设备上的http或者https请求
调试移动设备上的问题.看不到发送的请求和得到的响应是比較难过的,fiddler能够实现样的功能. 原理: 在PC上启动fiddler.将手持设备的网络代理改成fiddler. 这样全部的请求和响应都经 ...
- JAVA编程思想(2) - 操作符(二)
5. 直接常量 -一般来说,假设程序里使用了"直接常量",编译器能够准确的知道要生成什么样的类型.但有时候却是模棱两可的. 这时候须要我们对编译器进行适当的"指导&quo ...
- distcp导致个别datanode节点数据存储严重不均衡分析
hadoop2.4生产集群已经执行一段时间了.因为大量的hadoop1.0上面的应用不断迁移过来.刚開始事hdfs这边还没有出现多少问题.随着时间的推移,近期发现个别的datanode节点上面的磁盘空 ...
- PromiseKit入门
原文:Getting Started with PromiseKit 作者:Michael Katz 译者:kmyhy 异步编程真的让人头疼.不管你怎样小心,总是easy出现臃肿的托付.混乱的完毕句柄 ...