最近把以前项目里用的导出文件的功能提取成了dll,通过读取Attribute来得到要导出的表头(没有支持多语言),使用时只要组织好要导出的数据,调用方法就好了,希望对大家有用。

使用时只需引用下载包里bin里面的ExportData.dll文件即可,demo以下:

    public class HomeController : Controller
{
public ActionResult Index()
{
List<Model> data = new List<Model>(); data.Add(new Model { ID = 1, Name = "名字1" });
data.Add(new Model { ID = 2, Name = "小明" });
data.Add(new Model { ID = 3, Name = "小红" }); ExportFile.ExportToCSV<Model>(data, "test"); return View();
}
} public class Model
{
[ExportHeader("序号", 0)]
public int ID { get; set; }
[ExportHeader("名称", 1)]
public string Name { get; set; }
}

为了简单我把Model类与controller放在一起了,大家使用时请把它单独提出去。

效果:

aaarticlea/png;base64,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" alt="" />

代码下载:http://files.cnblogs.com/files/yahb/ExportData.rar

BS导出csv文件的通用方法(.net)的更多相关文章

  1. 转:导出csv文件数字会自动变科学计数法的解决方法

    导出csv文件数字会自动变科学计数法的解决方法   其实这个问题跟用什么语言导出csv文件没有关系.Excel显示数字时,如果数字大于12位,它会自动转化为科学计数法:如果数字大于15位,它不仅用于科 ...

  2. mysql导出csv文件excel打开后数字用科学计数法显示且低位变0的解决方法

    Excel显示数字时,如果数字大于12位,它会自动转化为科学计数法:如果数字大于15位,它不仅用于科学技术费表示,还会只保留高15位,其他位都变0. Excel打开csv文件时,只要字段值都是数字,它 ...

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

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

  4. 导出csv文件数字会自动变科学计数法的解决方法

    其实这个问题跟用什么语言导出csv文件没有关系.Excel显示数字时,如果数字大于12位,它会自动转化为科学计数法:如果数字大于15位,它不仅用于科学技术费表示,还会只保留高15位,其他位都变0.解决 ...

  5. PHP之导出CSV文件

    序言 Q1:什么是csv文件? A1:csv即 comma-separated values ,逗号分隔值.是一种通用的相对简单地文件格式,目前被较为广泛的使用.其最广泛的应用就是用来转移表数据. “ ...

  6. C#将DataTable数据导出CSV文件

    C#将DataTable数据导出CSV文件通用方法! //导出按钮调用导出方法    protected void btnCSV_Click(object sender, EventArgs e)   ...

  7. 导出csv文件示例

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

  8. php使用ajax导出CSV或者EXCEl(thinkphp)方法

    首先我强烈推荐看到这篇文章的你将导出文件设置为csv格式的文件 实际测试导出csv文件的速度是excel文件的10几倍左右 首先我先介绍csv文件的导出的方法: 如果你单纯是在数据导出界面上通过用户点 ...

  9. PHP 读取/导出 CSV文件

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

随机推荐

  1. 【剑指offer】面试题39:深度二叉树

    def TreeDepth1(root): if None == root: return 0 if None == root.left and None == root.right: return ...

  2. android应用框架构建------AppManager

    体验一些Android应用程序开发的个人总结 当我们开发应用程序.经常有非常多非常多activity,在这一刻,我们需要一个activity堆栈,以帮助管理activity的finish和start. ...

  3. C++该函数隐藏

    只有基类成员函数的定义已声明virtualkeyword,当在派生类中的时间,以支付功能实现,virtualkeyword可以从时间被添加以增加.它不影响多状态. easy混淆视听,掩盖: ,规则例如 ...

  4. 使用EasyUI实现加入和删除功能

    增删该查是不论什么一个项目都少不了的功能操作.这篇博文主要简单介绍一下怎样使用EasyUI实现加入和删除功能. 首先.导入EasyUI的js代码: <link href="~/Easy ...

  5. Coco2d-x android win7 Python 游戏开发环境的搭建

    1:我用的电脑配置 win7 3 核 内存8G 桌面.一直想学习Coco2d 游戏开发,所以,一个星期后,需要找到,最终建立了一个良好的环境 2:我使用的版本号版本号,至于建筑android开发环境略 ...

  6. Git协作流程(转)

    Git 作为一个源码管理系统,不可避免涉及到多人协作. 协作必须有一个规范的流程,让大家有效地合作,使得项目井井有条地发展下去."协作流程"在英语里,叫做"workflo ...

  7. 一个简单的Java死锁示例(转)

    在实际编程中,要尽量避免出现死锁的情况,但是让你故意写一个死锁的程序时似乎也不太简单(有公司会出这样的面试题),以下是一个简单的死锁例子,程序说明都写着类的注释里了,有点罗嗦,但是应该也还是表述清楚了 ...

  8. 使用javascript实现html文字不可选

    如何使用js让html该文本是不可选定它?首先想到的是用css选择实现,如下面: -webkit-touch-callout: none; -webkit-user-select: none; -kh ...

  9. hibernate Disabling contextual LOB creation as connection was null

    使用hibernate通路sybase当遇到异常. Could not obtain connection metadata : ASE is now using a multi-byte c ...

  10. 银联+移动+三星PK微信、余额宝

    在不远的将来,你可以扔掉钱包,扔掉信用卡,揣着手机买东西. 银联.移动.三星这些不同的行业大佬,因为这个目标,被一款名叫NFC的支付技术连接在了一起. 这场游戏的参与者众多,一个合纵连横的时代正在到来 ...