C#实现DataTable转TXT、CSV文件

 更新时间:2022年04月10日 11:16:13   作者:農碼一生  
这篇文章介绍了C#实现DataTable转TXT、CSV文件的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

转TXT文件

public object DataTableToTXT(DataTable vContent, string vOutputFilePath)
        {
            object resObj;
            StringBuilder sTxtContent;

            try
            {
                if (File.Exists(vOutputFilePath))
                    File.Delete(vOutputFilePath);

                sTxtContent = new StringBuilder();

                //数据
                foreach (DataRow row in vContent.Rows)
                {
                    for (int i = 0; i < vContent.Columns.Count; i++)
                    {
                        sTxtContent.Append(row[i].ToString().Trim());
                        sTxtContent.Append(i == vContent.Columns.Count - 1 ? "\r\n" : "\t");
                    }
                }
                File.WriteAllText(vOutputFilePath, sTxtContent.ToString(), Encoding.Unicode);
                resObj = new object[] { 0, "OK" };
            }
            catch (Exception ex)
            {
                resObj = new object[] { 0, "OK" };
            }
            return resObj;
        }

转.CSV文件

将DataTable转换成CSV文件是一种常见的转换形式,主要通过遍历Table的每行,再对每行遍历每列,实现对数据的读取,然后用分隔符分隔Table的每个栏位数据,把读取的字符写入到CSV文件中。这里每个栏位之间用逗号分隔,每行用换行符。实现代码如下:

public ExecutionResult DataTableToCsv(System.Data.DataTable vContent, string vOutputFilePath)
        {
            ExecutionResult sResult = new ExecutionResult();
            System.Text.StringBuilder sCsvContent;
            try
            {
                sCsvContent = new System.Text.StringBuilder();
                //栏位
                for (int i = 0; i < vContent.Columns.Count; i++)
                {
                    sCsvContent.Append(vContent.Columns[i].ColumnName);
                    sCsvContent.Append(i == vContent.Columns.Count - 1 ? "\r\n" : ",");
                }
                //数据
                foreach (System.Data.DataRow row in vContent.Rows)
                {
                    for (int i = 0; i < vContent.Columns.Count; i++)
                    {
                        sCsvContent.Append(row[i].ToString().Trim());
                        sCsvContent.Append(i == vContent.Columns.Count - 1 ? "\r\n" : ",");
                    }
                }
                File.WriteAllText(vOutputFilePath, sCsvContent.ToString(), Encoding.UTF8);
                sResult.Status = true;
            }
            catch (Exception ex)
            {
                sResult.Message = ex.Message;
                sResult.Status = false;
            }
            return sResult;
        }

到此这篇关于C#实现DataTable转TXT、CSV文件的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • Unity Shader实现径向模糊效果

    Unity Shader实现径向模糊效果

    这篇文章主要为大家详细介绍了Unity Shader实现径向模糊效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • c#多线程程序设计实例方法

    c#多线程程序设计实例方法

    在本篇文章里小编给大家分享了关于c#多线程程序设计实例步骤,需要的朋友们学习参考下。
    2019-02-02
  • c#基础系列之System.String的深入理解

    c#基础系列之System.String的深入理解

    这篇文章主要给大家介绍了关于c#基础系列之System.String的深入理解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-09-09
  • C# 添加、修改以及删除Excel迷你图表的实现方法

    C# 添加、修改以及删除Excel迷你图表的实现方法

    下面小编就为大家分享一篇C# 添加、修改以及删除Excel迷你图表的实现方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-12-12
  • C#中的数据结构介绍

    C#中的数据结构介绍

    这篇文章介绍了C#中的数据结构,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-03-03
  • C#读取文件所有行到数组的方法

    C#读取文件所有行到数组的方法

    这篇文章主要介绍了C#读取文件所有行到数组的方法,涉及C#针对文件及数组的相关操作技巧,需要的朋友可以参考下
    2015-07-07
  • C#控制台程序实现开启、关闭SQLServer服务的代码分享

    C#控制台程序实现开启、关闭SQLServer服务的代码分享

    这篇文章主要介绍了C#控制台程序实现开启、关闭SQLServer服务的代码分享,需要的朋友可以参考下
    2014-05-05
  • C# WPF开源UI控件库MaterialDesign介绍

    C# WPF开源UI控件库MaterialDesign介绍

    这篇文章介绍了C# WPF开源UI控件库MaterialDesign,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-01-01
  • C#Js时间格式化问题简单实例

    C#Js时间格式化问题简单实例

    这篇文章介绍了C#Js时间格式化问题简单实例,有需要的朋友可以参考一下
    2013-10-10
  • 自定义WPF分页控件的全过程记录

    自定义WPF分页控件的全过程记录

    接触WPF也有一段时间了,最近遇到了一个自定义分页控件的功能,感觉可以分享下面,所以这篇文章主要介绍了自定义WPF分页控件的相关资料,需要的朋友可以参考下
    2021-05-05

最新评论