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文件的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • C#实现导入CSV文件到Excel工作簿的方法

    本文实例讲述了C#实现导入CSV文件到Excel工作簿的方法.分享给大家供大家参考.具体如下: 你必须在项目中添加对 Microsoft.Office.Core 的引用:from the .NET tab of the Visual Studio Add Reference dialog box, and the Microsoft Excel 12.0 Object Library (you can use 14.0 if you want, too, but nothing lower).

  • C#中csv文件与DataTable互相导入处理实例解析

    本文介绍了C#中csv文件与DataTable互相导入处理实例解析,主要功能代码封装处理下,相对比较简单.以后项目用到的话可以直接使用.具体方法如下: 1.封装好的类如下: using System; using System.Data; using System.IO; using System.Text; using CSharpUtilHelpV2; using StringUtilHelp; namespace DBUtilHelpV2Plus { public static class

  • c# 对CSV文件操作(写入、读取、修改)

    一.DataTable数据写入CSV文件 public static void SaveCSV(DataTable dt, string fullPath)//table数据写入csv { System.IO.FileInfo fi = new System.IO.FileInfo(fullPath); if (!fi.Directory.Exists) { fi.Directory.Create(); } System.IO.FileStream fs = new System.IO.File

  • C#导出数据到CSV文件的通用类实例

    本文实例讲述了C#导出数据到csv文件的通用类.分享给大家供大家参考.具体如下: 通过这个类可以很简单的定义数据格式,并导出到csv文件 //这里写了一个通用的类 using System; using System.Data; using System.Configuration; using System.Collections.Generic; using System.Web; using System.Web.Security; using System.Web.UI; using S

  • C# 将CSV转为Excel

    CSV(Comma Separated Values)文件是一种纯文本文件,包含用逗号分隔的数据,常用于将数据从一个应用程序导入或导出到另一个应用程序.通过将CSV文件转为EXCEL,可执行更多关于数据编辑.格式设置等操作.下面,将通过C#及VB.NET代码展示如何来实现转换. 一.程序环境 可通过以下途径来安装Excel库: 1. 通过NuGet安装Spire.XLS: 2. 官方下载包,解压安装到本地指定路径.在Visual Studio中打开“解决方案资源管理器”,将本地安装路径下Bin文

  • C# 解析 Excel 并且生成 Csv 文件代码分析

    今天工作中遇到一个需求,就是获取 excel 里面的内容,并且把 excel 另存为 csv,因为本人以前未接触过,所以下面整理出来的代码均来自网络,具体参考链接已丢失,原作者保留所有权利! 例子: 复制代码 代码如下: using System; using System.Data; namespace ExportExcelToCode {     class ExcelOperater     {         public void Operater()         {      

  • C#中将DataTable转换成CSV文件的方法

    DataTable用于在.net项目中,用于缓存数据,DataTable表示内存中数据的一个表.CSV文件最早用在简单的数据库里,由于其格式简单,并具备很强的开放性,所以起初被扫图家用作自己图集的标记.CSV文件是个纯文本文件,每一行表示一张图片的许多属性. 在.net项目中运用C#将DataTable转化为CSV文件,现在提供一个较为通用的方法,具体代码如下: /// <summary> /// 将DataTable转换成CSV文件 /// </summary> /// <

  • 一个读写csv文件的C#类

    本文实例为大家分享了一个读写csv文件的C#类,供大家参考,具体内容如下 using System; using System.Collections.Generic; using System.IO; using System.Text; namespace CSVDemo { /// <summary> /// CSVUtil is a helper class handling csv files. /// </summary> public class CSVUtil {

  • C#操作CSV文件类实例

    本文实例讲述了C#操作CSV文件类.分享给大家供大家参考.具体分析如下: 这个C#类用于转换DataTable为CSV文件.CSV文件转换成DataTable,如果需要进行CSV和DataTable之间进行转换,使用这个类非常合适. using System.Data; using System.IO; namespace DotNet.Utilities { /// <summary> /// CSV文件转换类 /// </summary> public static class

  • C#读取csv格式文件的方法

    本文实例讲述了C#读取csv格式文件的方法.分享给大家供大家参考.具体实现方法如下: 一.CSV文件规则   1 开头是不留空,以行为单位. 2 可含或不含列名,含列名则居文件第一行. 3 一行数据不跨行,无空行. 4 以半角逗号(即,)作分隔符,列为空也要表达其存在. 5 列内容如存在半角逗号(即,)则用半角引号(即',')将该字段值包含起来. 6 列内容如存在半角引号(即")则应替换成半角双引号("")转义,并用半角引号(即"")将该字段值包含起来.

随机推荐