C # to write data to a DataTable txt file

See Code:

        ///  <Summary> 
        /// the contents inside DataTable txt file write
         ///  </ Summary> 
        ///  <param name = "dt"> Data Table </ param> 
        ///  <param name = " columnNames "> write a list of fields </ param> 
        ///  <param name =" fileName "> filename, full path, it is recommended to .txt suffix </ param> 
        ///  <param name =" encoding "> file encoding format </ param> 
        ///  <param name = "fieldsTerminated"> field delimiter, default \ t tab </ param> 
        ///  <Returns> </ Returns> 
        public  void WriteDataTableIntoFile (the DataTable dt, List <string> columnNames, string fileName, Encoding encoding, string fieldsTerminated = "\t")
        {
            if (dt == null)
            {
                return;
            }

            //写数据文件
            using (StreamWriter streamWriter = new StreamWriter(fileName, false, encoding))
            {
                int col = 0;
                foreach (DataRow dr in dt.Rows)
                {
                    col = 0;
                    foreach (string column in columnNames)
                    {
                        if (col > 0)
                        {
                            streamWriter.Write(fieldsTerminated);
                        }
                        if (dt.Columns[column].DataType == typeof(DateTime))
                        {
                            if (dr[column] == DBNull.Value)
                            {
                                //streamWriter.Write("0000-00-00 00:00:00");
                            }
                            else
                            {
                                streamWriter.Write(((DateTime)dr[column]).ToString("yyyy-MM-dd HH:mm:ss"));
                            }
                        }
                        else
                        {

                            streamWriter.Write(Convert.ToString(dr[column]).Replace('\t', ' ').Replace('\r', ' ').Replace('\n', ' '));
                    }++
                        With
                        };
                    streamWriter.WriteLine();
                    streamWriter.Flush();
                }
                streamWriter.Close();
                streamWriter.Dispose();
            }
        }

 

Guess you like

Origin www.cnblogs.com/senyier/p/11161840.html