栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

将DataTable转换为CSV流

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

将DataTable转换为CSV流

您可以自己快速写一些东西:

public static class Extensions{    public static string ToCSV(this DataTable table)    {        var result = new StringBuilder();        for (int i = 0; i < table.Columns.Count; i++)        { result.Append(table.Columns[i].ColumnName); result.Append(i == table.Columns.Count - 1 ? "n" : ",");        }        foreach (DataRow row in table.Rows)        { for (int i = 0; i < table.Columns.Count; i++) {     result.Append(row[i].ToString());     result.Append(i == table.Columns.Count - 1 ? "n" : ","); }        }        return result.ToString();    }}

并测试:

  public static void Main()  {        DataTable table = new DataTable();        table.Columns.Add("Name");        table.Columns.Add("Age");        table.Rows.Add("John Doe", "45");        table.Rows.Add("Jane Doe", "35");        table.Rows.Add("Jack Doe", "27");        var bytes = Encoding.GetEncoding("iso-8859-1").GetBytes(table.ToCSV());        MemoryStream stream = new MemoryStream(bytes);        StreamReader reader = new StreamReader(stream);        Console.WriteLine(reader.ReadToEnd());  }

编辑:关于您的评论:

这取决于您要csv格式化的方式,但是通常情况下,如果文本包含特殊字符,则要用双引号将其括起来,即:“
my,text”。您可以在创建csv的代码中添加检查以检查特殊字符,如果有的话,则将文本用双引号引起来。至于.NET
2.0,只需在您的类中将其创建为帮助方法,或在方法声明中删除this并按如下方式调用它即可:Extensions.ToCsv(table);



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/576131.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号