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文件的乱码 ...
随机推荐
- android开发里跳过的坑——adb connect连不上
user版本在系统init.rc里已经添加了setprop service.adb.tcp.port 5555 ,但是刷机以后,发现adb connect怎么都连不上,重启电脑,改变网络,巴拉巴拉,能 ...
- 使用谷歌Z生成条形码以及二维码
下载地址:http://zxingnet.codeplex.com/ zxing.net是.net平台下编解条形码和二维码的工具,使用非常方便. 首先下载二进制dll文件,引入工程: using Sy ...
- codevs3285 转圈游戏
题目描述 Description n 个小伙伴(编号从 0 到 n-1)围坐一圈玩游戏.按照顺时针方向给 n 个位置编号,从0 到 n-1.最初,第 0 号小伙伴在第 0 号位置,第 1 号小伙伴在第 ...
- zset(sorted set:有序集合)数据类型【八】
一.概述:(zset) Sorted-Sets和Sets类型极为相似,它们都是字符串的集合,都不允许重复的成员出现在一个Set中.它们之间的主要差别是Sorted-Sets中的每一个成员都会有一个分数 ...
- HDU——2063 过山车
过山车 Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submis ...
- JSP的隐藏对象
以下内容引用自http://wiki.jikexueyuan.com/project/jsp/implicit-objects.html: JSP隐式对象是Java对象,JSP容器使隐式对象在每一个页 ...
- 几点平时不太注意的CSS知识
1:文本显示的时候,我们发现左右参差不齐,text-align:justify 就能让文本左右都齐刷刷的啦: 2:input标签的内容,处于安全考虑,有时候我们并不希望别人黏贴复制,这时候这样干:& ...
- OJ-online judegement
OJ-online judegement https://baike.baidu.com/item/OJ/8129019?fr=aladdin
- 015 WAN
Router#config t Enter configuration commands, one per line. End with CNTL/Z. Router(config)#int s0/ ...
- TCP_NODELAY和TCP_CORK nagle算法和cork算法
TCP_NODELAY 默认情况下,发送数据採用Nagle 算法.这样尽管提高了网络吞吐量,可是实时性却减少了,在一些交互性非常强的应用程序来说是不同意的.使用TCP_NODELAY选项能够禁止Nag ...