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文件的更多相关文章

  1. asp mvc 导出txt 文件泛型方法

    asp mvc 导出txt 文件泛型方法分享: public static void ExportFile<T>(T obj) { StringBuilder str = new Stri ...

  2. ASP.NET MVC导出excel

    ASP.NET MVC导出excel 要在ASP.NET MVC站点上做excel导出功能,但是要导出的excel文件比较大,有几十M,所以导出比较费时,为了不影响对界面的其它操作,我就采用异步的方式 ...

  3. 导出csv文件示例

    导出csv文件示例 csv文件默认以英文逗号,做为列分隔符换行符\n作为行分隔符,写入到一个.csv文件即可.含有英文逗号,和换行符会发生数据输出会出现混乱,下面列出一些处理方法.特殊字符处理1.含有 ...

  4. mysql SQLyog导入导出csv文件

    1.选择数据库表 --> 右击属性 --> 备份/导出 --> 导出表数据作为 --> 选择cvs --> 选择下面的“更改” --> 字段 --> 变量长度 ...

  5. 关于asp.net C# 导出Excel文件 打开Excel文件格式与扩展名指定格式不一致的解决办法

    -----转载:http://blog.csdn.net/sgear/article/details/7663502 关于asp.net C# 导出Excel文件 打开Excel文件格式与扩展名指定格 ...

  6. PHP 读取/导出 CSV文件

    工作中经常会有遇到导入/导出的需求,下面是常用的方法.读取CSV文件,可以分页读取,设置读取行数,起始行数即可.导出CSV文件,用两种方法进行实现. /** * 读取CSV文件 * @param st ...

  7. Web 端 js 导出csv文件(使用a标签)

    前言 导出文件,使用最多的方式还是服务器端来处理.比如jsp 中使用response 的方式. 但是,有时候可能就想使用web 前端是否也可以把页面上的内容导出来呢? 比如说,导出页面的一个表格. 这 ...

  8. [代码示例]用Fine Uploader+ASP.NET MVC实现ajax文件上传

    原文 [代码示例]用Fine Uploader+ASP.NET MVC实现ajax文件上传 Fine Uploader(http://fineuploader.com/)是一个实现 ajax 上传文件 ...

  9. PHP导出CSV文件出现乱码的解决方法

    在做项目时碰到使用外语的情况下,我们就会使用UTF-8编码.但是,在用PHP导出CSV文件时,如果写入的数据是使用UTF-8编码的日语.韩语之类的外文,就会出现乱码. 要解决PHP生成CSV文件的乱码 ...

随机推荐

  1. 1sting 大数 递推

    You will be given a string which only contains ‘1’; You can merge two adjacent ‘1’ to be ‘2’, or lea ...

  2. SOJ 3300_Stockholm Coins

    [题意]给n个数,求一个数,使这个数能且只能由(n个数每个至少出现一次)表示.输出满足条件的最小的数. [分析](完全背包)如果有满足条件的最小的数,那么这个数只能是这n个数的和total,通过记录每 ...

  3. 安卓常见错误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. 导入新的 ...

  4. MySQL查询去重语句

    1.distinct select count(distinct CName) from Course select count(CName) from (select distinct CName ...

  5. centos7 禁止 root ssh login

    CentOS 7 默认容许任何帐号透过 ssh 登入,包括 root 和一般帐号,为了不让 root 帐号被黑客暴力入侵,我们必须禁止 root 帐号的 ssh 功能,事实上 root 也没有必要 s ...

  6. node安装-Win+Linux+Mac osx

    node下载地址,除了Mac osx或Win平台,仅有Linux平台命令安装. Win.Mac 点击即可下载(注:Mac有dmg和pkg安装格式). Linux分为Redhot和Deepin系列,安装 ...

  7. 怎样用fiddler2捕获移动设备上的http或者https请求

    调试移动设备上的问题.看不到发送的请求和得到的响应是比較难过的,fiddler能够实现样的功能. 原理: 在PC上启动fiddler.将手持设备的网络代理改成fiddler. 这样全部的请求和响应都经 ...

  8. JAVA编程思想(2) - 操作符(二)

    5. 直接常量 -一般来说,假设程序里使用了"直接常量",编译器能够准确的知道要生成什么样的类型.但有时候却是模棱两可的. 这时候须要我们对编译器进行适当的"指导&quo ...

  9. distcp导致个别datanode节点数据存储严重不均衡分析

    hadoop2.4生产集群已经执行一段时间了.因为大量的hadoop1.0上面的应用不断迁移过来.刚開始事hdfs这边还没有出现多少问题.随着时间的推移,近期发现个别的datanode节点上面的磁盘空 ...

  10. PromiseKit入门

    原文:Getting Started with PromiseKit 作者:Michael Katz 译者:kmyhy 异步编程真的让人头疼.不管你怎样小心,总是easy出现臃肿的托付.混乱的完毕句柄 ...