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. PHP 关键词

    PHP 关键词 TCP 传输层通信协议 面向连接的.可靠的.基于字节流的 建立链接需要三次握手 Socket(套接字) 一个工具,一个接口 封装了TCP/IP协议 建立长链接的基础 HTTP 一个应用 ...

  2. 什么是单点登录(SSO)

    前言 只有光头才能变强. 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/ZhongFuCheng3y/3y 在我实习之前我就已经在看单点登录的是什么了,但是实习 ...

  3. 英特尔固态盘 说明书PDF

    http://www.intel.cn/content/www/cn/zh/solid-state-drives/solid-state-drives-ssd.html

  4. Oracle将一列值逗号拼接wm_concat函数

    --Oracle12c不再支持该函数,需要手动处理 --管理员登录授权给用户权限 GRANT CREATE SYNONYM TO c##sdic; / --创建 TYPE CREATE OR REPL ...

  5. ArcGIS Engine效率探究——要素的添加和删除、属性的读取和更新

    ArcGIS Engine效率探究——要素的添加和删除.属性的读取和更新 来自:http://blog.csdn.net/freewaywalker/article/details/23703863 ...

  6. 【Spark】Spark容错机制

    引入 一般来说,分布式数据集的容错性有两种方式:数据检查点和记录数据的更新. 面向大规模数据分析,数据检查点操作成本非常高,须要通过数据中心的网络连接在机器之间复制庞大的数据集,而网络带宽往往比内存带 ...

  7. python 爬虫必知必会

    #python爬虫 #新闻数据 #机器学习:股票数据获取及分析 #网络搜索引擎的一个部件 #Http协议 #正则表达式 #多线程,分布式 #http报文展示 #Http 应答报文介绍 #1.应答码 # ...

  8. Html.RenderPartial使用三个参数

    Html.RenderPartial("usercontrolurl", model, ViewDataDictionary) 当使用三个参数时可以这样使用: var data = ...

  9. C#下JSON字符串的反序列化

    C#下JSON字符串的反序列化,一般都是用newtonsoft.json,比较方便..net当然也有提供相应功能,但觉得比较复杂. 所谓反序列化,就是将一个包含JSON内容的字符串,转换回指定对象(不 ...

  10. HTTP要点概述:十一,HTTP状态码

    一,状态码: 状态码告知从服务器返回的请求结果.用户借助状态码可以判断服务器是正常处理了请求,还是发生了错误. 状态码比如200 OK,以3位数字和原因短语组成. 数字中的第一位制定了相应的类别,后两 ...