zoukankan      html  css  js  c++  java
  • c# datatable 如何转CSV文件

     public void DataTableToCSV(DataTable dtCSV, string csvFileFullName, bool writeHeader, 
                string delimeter)
            {
                if ((null != dtCSV) && (dtCSV.Rows.Count > 0))
                {
                    //Delete the old one
                    if (File.Exists(csvFileFullName))
                    {
                        File.Delete(csvFileFullName);
                    }
    
                    string tmpLineText = "";
    
                    //Write header
                    if (writeHeader)
                    {
                        tmpLineText = "";
                        for (int i = 0; i < dtCSV.Columns.Count; i++)
                        {
                            string tmpColumnValue = dtCSV.Columns[i].ColumnName;
                            if (tmpColumnValue.Contains(delimeter))
                            {
                                tmpColumnValue = """ + tmpColumnValue + """;
                            }
    
                            if (i == dtCSV.Columns.Count - 1)
                            {
                                tmpLineText += tmpColumnValue;
                            }
                            else
                            {
                                tmpLineText += tmpColumnValue + delimeter;
                            }
                        }
                        WriteFile(csvFileFullName, tmpLineText);
                    }
    
                    //Write content
                    for (int j = 0; j < dtCSV.Rows.Count; j++)
                    {
                        tmpLineText = "";
                        for (int k = 0; k < dtCSV.Columns.Count; k++)
                        {
                            string tmpRowValue = dtCSV.Rows[j][k].ToString();
                            if (tmpRowValue.Contains(delimeter))
                            {
                                tmpRowValue = """ + tmpRowValue + """;
                            }
    
                            if (k == dtCSV.Columns.Count - 1)
                            {
                                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写一个小的聊天室程序
    socket相关的开机初始化分析
    HTML——CSS3学习
    iOS--OCR图片识别
    iOS学习——Socket
    iOS学习——数据加密
    iOS学习——并发编程GCD
    iOS学习——weak的应用场景
    iOS学习——RUNLOOP、NSTimer
    iOS学习——锁
  • 原文地址:https://www.cnblogs.com/mibing/p/6144176.html
Copyright © 2011-2022 走看看