List<T>集合导出csv方法参考,通过增加自定义的属性控制输出的字段。

public string CreateAdvExcel(List<GridScoreManager> lt)
        {
            StringBuilder builder = new StringBuilder();
            if (lt == null || (0 == lt.Count))
            {
                return "";
            }
            System.Reflection.PropertyInfo[] myPropertyInfo = lt.First().GetType().GetProperties(System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance);
            int i = 0, j;
            for (i = 0, j = myPropertyInfo.Length; i < j; i++)
            {
                System.Reflection.PropertyInfo pi = myPropertyInfo[i];
                var ex = pi.GetCustomAttribute<ExAttribute>();
                if (ex != null)
                {
                    string headname = ex.HeaderName;//单元格头部
                    builder.Append(string.Format("\"{0}\"", headname.Replace("\"", "\"\"")));
                    builder.Append(",");
                }
            }
            builder.AppendLine();
            foreach (GridScoreManager t in lt)
            {
                if (lt == null)
                {
                    continue;
                }
                for (i = 0, j = myPropertyInfo.Length; i < j; i++)
                {
                    System.Reflection.PropertyInfo pi = myPropertyInfo[i];
                    var ex = pi.GetCustomAttribute<ExAttribute>();
                    if (ex != null)
                    {
                        string str = string.Format("\"{0}\"", pi.GetValue(t, null).ToString().Replace("\"", "\"\""));
                        builder.Append(str).Append(",");
                    }                        

                }
                builder.AppendLine();
            }

            return builder.ToString();

        }
    }
    public class GridScoreManager
    {

        [ExAttribute(HeaderName = "aaaa  aa Manager Nameaaaa  , \"aa Manager Nameaaaa  aa Manager Nameaaaa  aa Manager Nameaaaa  aa Manager Name")]
        public string Name { get; set; }
        [ExAttribute(HeaderName ="Identity")]
        public int Id { get; set; }

        public int Age { get; set; }

    }

    public class ExAttribute : Attribute
    {
        public string HeaderName { get; set; }
    }

  

时间: 2024-12-25 02:31:57

List<T>集合导出csv方法参考,通过增加自定义的属性控制输出的字段。的相关文章

PCB MongoDB 数据库 Collection集合导出与导入

由于一直以来用微软可视化图形界面习惯了,而MongoDB是命令式操作,而用系统自带CMD操作不方便, 这里介绍一款CMD的替代品,大小100多M. Cmder工具下载  https://github.com/cmderdev/cmder/releases 接下来操作全部用Cmder工具来执行指令操作演示 一.Collection集合导出与导入工具介绍: NoSQL中Collection集合对应SQL的的关系相当于表的概念,即对表的导出与导入. 导出集合数据工具 mongoexport.exe 导

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

首先我强烈推荐看到这篇文章的你将导出文件设置为csv格式的文件 实际测试导出csv文件的速度是excel文件的10几倍左右 首先我先介绍csv文件的导出的方法: 如果你单纯是在数据导出界面上通过用户点击生成csv或者excel按钮通过服务器往浏览器输出excel或者csv 如果数据量小的化可以使用这样的方法(这种方法无法使用ajax)网上百度一下一堆介绍 这里有较为详细的方法介绍 和源码 我这里介绍的是 当数据量比较大时比如生成excel或者csv文件可能需要 几分钟这时候我们需要在用户点击生成

golang导出csv乱码解决方法

golang导出csv乱码解决方法: 在csv文件的开头写入 UTF-8 BOM // 创建文件 dstf, err := os.Create(``"./data/" + fileName) defer dstf.Close() if err != nil { beego.Error(``"create file error: " + err.Error()) return ""``, err } `dstf.WriteString(``&quo

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

其实这个问题跟用什么语言导出csv文件没有关系.Excel显示数字时,如果数字大于12位,它会自动转化为科学计数法:如果数字大于15位,它不仅用于科学技术费表示,还会只保留高15位,其他位都变0.解决这个问题:只要把数字字段后面加上显示上看不见的字符即可,字符串前面或者结尾加上制表符"\t".php 程序可以这样判断,注意一定是"\t",不是'\t'.

PHP 高效导入导出Excel(csv)方法之fgetcsv()和fputcsv()函数

CSV,是Comma Separated Value(逗号分隔值)的英文缩写,通常都是纯文本文件. 一.CSV数据导入函数fgetcsv() fgetcsv() 函数从文件指针中读入一行并解析 CSV 字段. 与 fgets() 类似,不同的是 fgetcsv() 解析读入的行并找出 CSV 格式的字段,然后返回一个包含这些字段的数组. fgetcsv() 出错时返回 FALSE,包括碰到文件结束时. 具体使用时封装函数如下: /** * 导入Excel数据表格 * @param string

PHP 和 JS 导入导出csv表格(上)

CSV简介 在开发后台管理系统的时候,几乎无可避免的会遇到需要导入导出Excel表格的需求.csv也是表格的一种,其中文名为"逗号分隔符文件".在Excel中打开如下图左边所示,在记事本打开如下图右边所示: 再看包含特殊字符的表格 与xls或xlsx 表格相类似,CSV文件也是用来表示二维表格.而不同的是: 1.CSV是一种纯文本文件,任何编辑器都能打开并读取它:xls(x)是专用的二进制文件,要用表格软件才能正常打开,否则乱码: 2.CSV的体积很小,比如上面的表格内容,csv只有几

php 导入/导出 csv 文件

php 导入/导出 csv 文件 1.简介 项目开发中,很多时候要将外部CSV文件导入到数据库中或者将数据导出为CSV文件,那么具体该如何实现呢?本文将使用原生PHP,实现了CSV格式数据的导入和导出功能.并解决相关乱码问题. 将xls转换成csv的文本格式,然后再用php分析这个文件,和PHP分析文本没有什么区别.优点:跨平台,效率比较高.可以读写.缺点:只能直接使用csv的文件,如果经常接受.xls二进制文件的话需要手工转换,不能自动化.一个文件只有一个SHEET. 2.相关函数介绍 2.1

springMVC导出 CSV案例

导出csv 第一步 Controller类里调用 OrderParamsVo 传入的参数 orderService.findBuyCSV 查询到要导出的信息 1 /** 2 * 购买订单CSV 3 * OrderParamsVo 传入的参数 4 */ 5 @RequestMapping("findBuyCSV") 6 @ResponseBody 7 public JsonResult findBuyCSV(OrderParamsVo params, HttpServletRespons

ASP.NET常用导出Excel方法汇总

本文转载:http://mattberseth.com/blog/2007/04/export_gridview_to_excel_1.html http://geekswithblogs.net/azamsharp/archive/2005/12/21/63843.aspx 参考:http://forums.asp.net/t/1221467.aspx Export GridView to Excel using System; using System.Data; using System.