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. [Scikit-learn] 1.4 Support Vector Classification

    Ref: http://sklearn.lzjqsdd.com/modules/svm.html Ref: CS229 Lecture notes - Support Vector Machines ...

  2. 修改ssh端口

    centos7.5修改默认SSH端口 linux SSH默认端口是22,不修改的话存在一定的风险,要么是被人恶意扫描,要么会被人破解或者攻击,所以我们需要修改默认的SSH端口 1.修改22端口为620 ...

  3. 【ABAP系列】SAP ABAP BAPI_REQUISITION_CREATE创建采购申请

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP BAPI_RE ...

  4. 《剑指offer》链表专题 (牛客10.23)

    难度 题目 知识点 03. 返回链表的反序 vector 递归,C++ STL reverse() * 14. 链表中倒数第k个结点 指针操作 15. 反转链表 头插法,递归 16. 合并两个有序链表 ...

  5. power bi可视化--乘用车案例

  6. 【Matlab开发】函数bsxfun的使用

    [Matlab开发]函数bsxfun的使用 标签:[Matlab开发] 版权声明:本文为博主原创文章,转载请注明出处http://blog.csdn.net/lg1259156776/. 说明:当我们 ...

  7. Union All 使用注意事项和字段顺序不一致导致的异常

    使用注意,先说结果: UNION 操作符用于合并两个或多个 SELECT 语句的结果集,这里需要注意的是: UNION 内部的 SELECT 语句必须拥有相同数量的列: 列也必须拥有相似的数据类型(实 ...

  8. 【log4j】的学习和理解 + 打印所有 SQL

    log4j 1.2 学习和理解 + 打印所有 SQL 一.基本资料 官方文档:http://logging.apache.org/log4j/1.2/manual.html(理解基本概念和其他) lo ...

  9. 多路径IO

    多路径IO(MPIO)是一个微软架构,通过在存储设备和windows操作系统之间提供一个备用数据路径,来减轻主机总线适配器(HBA)故障的影响,MPIO能够支持多达32个备用路径,来增加Windows ...

  10. [Cometoj#3 D]可爱的菜菜子_线段树_差分_线性基

    可爱的菜菜子 题目链接:https://cometoj.com/contest/38/problem/D?problem_id=1543 数据范围:略. 题解: 首先,如果第一个操作是单点修改,我们就 ...