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. idea导入(import)项目和打开(open)项目的区别

    前言: 每次接手老项目,都得从git或svn下载下来,但是如果之前的项目不是用idea写的怎么办,可是你又习惯啦idea,那你必须把项目在idea上跑起来,那是用import还是用open呢,如何抉择 ...

  2. SOJ 2930_积木城堡

    [题意]若干个城堡,给定每个城堡的积木数及每块积木的棱长.从城堡中抽出积木使每块城堡高度相同,求最大高度 [分析]城堡的积木选择可以看成01背包问题,从最矮的城堡高度开始依次递减,求出使每个背包都能装 ...

  3. 选择器(E:hover/E:active/E:focus的使用)

    <!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head><meta ...

  4. DELPHI异步选择模型UDP

    unit U_FrmServer; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Di ...

  5. python性能优化、内存优化、内存泄露;与其他语音比较效率如何?

    1.内存泄露:http://www.cnblogs.com/xybaby/p/7491656.html 2.内存优化:http://www.cnblogs.com/xybaby/p/7488216.h ...

  6. AIM Tech R3 div2 E Centroid

    思路很明显了,假设是点x,则看它的子树中是否有大于n/2的,如果有,则在该子树中剪去它可以剪的且小于n/2的,接到点x上. 则统计出在以x点为根的子树中,它的各子树可以剪去的且小于n/2的最大子子树. ...

  7. Linux---有关dig命令的有用脚本

    这里直接给出脚本以及运行的效果图,主要推断了一下cdn然后能够直接过滤url.默认就是dig +域名 +short. 脚本qdig(随便能够取一个名字)例如以下: #!/usr/bin/env bas ...

  8. 使用HTML5监測站点性能

    在这个信息爆炸的互联网时代,越来越多的人缺少了等待的耐心.站点性能对于一个站点来说越来越重要.下面为监控到的站点打开时间对跳出率的影响: 当站点打开时间在0-1秒时,跳出率为12% 当站点打开时间在1 ...

  9. Cookies 初识 Dotnetspider EF 6.x、EF Core实现dynamic动态查询和EF Core注入多个上下文实例池你知道有什么问题? EntityFramework Core 运行dotnet ef命令迁移背后本质是什么?(EF Core迁移原理)

    Cookies   1.创建HttpCookies Cookie=new HttpCookies("CookieName");2.添加内容Cookie.Values.Add(&qu ...

  10. MySQL具体解释(21)------------缓存參数优化

    数据库属于 IO 密集型的应用程序.其主要职责就是数据的管理及存储工作. 而我们知道,从内存中读取一个数据库的时间是微秒级别,而从一块普通硬盘上读取一个IO是在毫秒级别,二者相差3个数量级.所以,要优 ...