public void DataTableToCSV(DataTable dtCSV, string csvFileFullName, bool writeHeader,
string delimeter)
{
if ((null != dtCSV) && (dtCSV.Rows.Count > ))
{
//Delete the old one
if (File.Exists(csvFileFullName))
{
File.Delete(csvFileFullName);
} string tmpLineText = ""; //Write header
if (writeHeader)
{
tmpLineText = "";
for (int i = ; i < dtCSV.Columns.Count; i++)
{
string tmpColumnValue = dtCSV.Columns[i].ColumnName;
if (tmpColumnValue.Contains(delimeter))
{
tmpColumnValue = "\"" + tmpColumnValue + "\"";
} if (i == dtCSV.Columns.Count - )
{
tmpLineText += tmpColumnValue;
}
else
{
tmpLineText += tmpColumnValue + delimeter;
}
}
WriteFile(csvFileFullName, tmpLineText);
} //Write content
for (int j = ; j < dtCSV.Rows.Count; j++)
{
tmpLineText = "";
for (int k = ; k < dtCSV.Columns.Count; k++)
{
string tmpRowValue = dtCSV.Rows[j][k].ToString();
if (tmpRowValue.Contains(delimeter))
{
tmpRowValue = "\"" + tmpRowValue + "\"";
} if (k == dtCSV.Columns.Count - )
{
tmpLineText += tmpRowValue;
}
else
{
tmpLineText += tmpRowValue + delimeter;
}
}
WriteFile(csvFileFullName, tmpLineText);
}
}
} private void WriteFile(string fileFullName, string message)
{
using (StreamWriter sw = new StreamWriter(fileFullName, true, Encoding.UTF8))
{
sw.WriteLine(message);
}
}

c# datatable 如何转CSV文件的更多相关文章

  1. 将DataTable转换成CSV文件

    DataTable用于在.net项目中,用于缓存数据,DataTable表示内存中数据的一个表.CSV文件最早用在简单的数据库里,由于其格式简单,并具备很强的开放性,所以起初被扫图家用作自己图集的标记 ...

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

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

  3. DataTable数据导出CSV文件

    public static void SaveAsExcel(DataTable dt1) { //System.Windows.Forms.SaveFileDialog sfd = new Syst ...

  4. 每日学习心得:Linq解决DataTable按照某一列的值排序问题/DataTable 导出CSV文件/巧用text-overflow解决数据绑定列数据展示过长问题

    2013-8-5 1 Linq解决DataTable按照某一列的值排序 在之前的总结中提到过对拼接而成的复合的DataTable按照某一列值的大小排序,那个主要的思想是在新建表结构时将要排序的那一列的 ...

  5. csv文件与DataTable互相导入处理

    封装处理下,以后项目用到可以直接使用,比较简单. 1.首先看封装好的类 using System; using System.Data; using System.IO; using System.T ...

  6. C#实现DataTable转.CSV文件

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

  7. C#:CsvReader读取.CSV文件并转换成DataTable

    原文引用:https://www.codeproject.com/Articles/9258/A-Fast-CSV-Reader using LumenWorks.Framework.IO.Csv; ...

  8. C#:StreamReader读取.CSV文件(转换成DataTable)

    using System.Data; using System.IO; /// <summary> /// Stream读取.csv文件 /// </summary> /// ...

  9. C#:CsvReader读取.CSV文件(转换成DataTable)

    原文引用:https://www.codeproject.com/Articles/9258/A-Fast-CSV-Reader using LumenWorks.Framework.IO.Csv; ...

随机推荐

  1. [go]grpc远程接口调用实现

    // grpc序列化/反序列化成对应语言的对象 // 1.写idl(数据类型+方法) // 2.生成对应语言的序列化/反序列化代码 // 3.方法需要自己实现 // 环境(将gopath/bin加入p ...

  2. kotlin之null值安全性

    var a: String =null // 编译错误 var a: String? =null // 编译通过 要允许null值, 需要将变量声明为可为null的字符串类型:String? fun ...

  3. C之交换数据案例

    //值传递 void swap(int i,int j){ printf("交换后:\n "); int tmp; tmp = i; i = j; j = tmp; } //引用传 ...

  4. ServletConfig对象的使用

    作用: * 获取Servlet的配置信息 * 获取ServletContext对象 *主要是用于加载servlet的初始化参数.在一个web应用可以存在多个ServletConfig对象(一个Serv ...

  5. spring常用模式--模板模式

    引入:这几天在看一本讲spring源码的书<SPRING技术内幕>里面在讲加载配置文件的时候,可以有不同的加载方式,如根据文件系统目录加载配置文件(FileSystemXmlApplica ...

  6. 查看oracle数据库的链接数和用户

    http://www.cnblogs.com/is1988/archive/2012/11/21/2780067.html 1.查询oracle的连接数select count(*) from v$s ...

  7. css解决fixed布局不会出现滚动条的问题

  8. unity三维地球模型生成

    准备一张贴图   创建材质球 球面坐标系转直角坐标系 x=rsinθcosφ. y=rsinθsinφ. z=rcosθ. 效果如下   脚本如下 using System.Collections; ...

  9. unity3d 触屏多点触控(旋转与缩放)

    unity3d 触屏多点触控(旋转与缩放) /*Touch OrbitProgrammed by: Randal J. Phillips (Caliber Mengsk)Original Creati ...

  10. OpenCV类型对照表

    有些时候处理图像必须使用灰度图或者单波段处理,速度快,所以在处理之前就需要先判断图像类型,根据不同类型图像使用不同方法处理. 获取type值 Mat img = imread("lena.j ...