Пример #1
0
        //---------------------------------------------
        public static string[] GetHeaders(string filename, CsvDelimiter delimiter)
        {
            TextReader textReader = null;
            String textHeader;

            try
            {
                textReader = new StreamReader(filename, Encoding.Default);
                textHeader = textReader.ReadLine();
            }
            catch (Exception e)
            {
                System.Diagnostics.Debug.WriteLine(e.Message);
                textHeader = String.Empty;
                throw;
            }
            finally
            {
                if (textReader != null)
                {
                    textReader.Close();
                    textReader.Dispose();
                }
            }

            while (textHeader.IndexOf('"') >= 0)
            {
                textHeader = textHeader.Remove(textHeader.IndexOf('"'), 1);
            }

            return textHeader.Split((char)delimiter);
        }
Пример #2
0
        public ICollection <T> Read(Stream stream)
        {
            var  reader        = new StreamReader(stream);
            bool skipFirstLine = UseSingleLineHeaderInCsv;
            var  list          = new List <T>();

            while (!reader.EndOfStream)
            {
                var line   = reader.ReadLine();
                var values = line.Split(CsvDelimiter.ToCharArray());
                if (skipFirstLine)
                {
                    skipFirstLine = false;
                }
                else
                {
                    var item = (T)Activator.CreateInstance(typeof(T));

                    for (int i = 0; i < values.Length; i++)
                    {
                        var property = item.GetType().GetProperty(Schema.Properties[i].Name);
                        property.SetValue(item, Convert.ChangeType(values[i], property.PropertyType), null);
                    }

                    list.Add(item);
                }
            }

            return(list);
        }
Пример #3
0
        //---------------------------------------------


        public static string[] GetHeaders(string filename, CsvDelimiter delimiter)
        {
            TextReader textReader = null;
            String     textHeader;

            try
            {
                textReader = new StreamReader(filename, Encoding.Default);
                textHeader = textReader.ReadLine();
            }
            catch (Exception e)
            {
                System.Diagnostics.Debug.WriteLine(e.Message);
                textHeader = String.Empty;
                throw;
            }
            finally
            {
                if (textReader != null)
                {
                    textReader.Close();
                    textReader.Dispose();
                }
            }

            while (textHeader.IndexOf('"') >= 0)
            {
                textHeader = textHeader.Remove(textHeader.IndexOf('"'), 1);
            }

            return(textHeader.Split((char)delimiter));
        }
Пример #4
0
        /// <summary>
        /// Configures Metrics.Log4Net to use custom CSV delimiter
        /// </summary>
        /// <param name="configuration"></param>
        /// <param name="csvDelimiter">CSV delimiter, such as , or ;</param>
        public static MetricsLog4NetConfiguration WithCustomCsvDelimiter(this MetricsLog4NetConfiguration configuration, string csvDelimiter)
        {
            if (csvDelimiter == null)
            {
                throw new ArgumentNullException("csvDelimiter");
            }

            CsvDelimiter.SetDelimiter(csvDelimiter);

            return(configuration);
        }
Пример #5
0
        public static CsvDelimiter DetectFieldDelimiterChar(string headerLine)
        {
            int          maxCount     = 0;
            int          curCount     = 0;
            CsvDelimiter maxDelimiter = CsvDelimiter.Comma;

            foreach (CsvDelimiter delimiter in Enum.GetValues(typeof(CsvDelimiter)))
            {
                curCount = headerLine.Split((char)delimiter).Length;
                if (curCount > maxCount)
                {
                    maxCount     = curCount;
                    maxDelimiter = delimiter;
                }
            }

            return(maxDelimiter);
        }
Пример #6
0
 public static DataTable Parse(TextReader stream, CsvHeadersAction Headers, CsvDelimiter delimiter)
 {
     return Parse(stream, Headers, (char)delimiter);
 }
Пример #7
0
 //By Filename
 public static DataTable Parse(string filename, Encoding encoding, bool headers, CsvDelimiter delimiter)
 {
     return Parse(new StreamReader(filename, encoding), headers, (char)delimiter);
 }
Пример #8
0
        /// <summary>
        /// Configures Metrics.Log4Net to use CSV delimiter defined in <see cref="TextInfo.ListSeparator"/>
        /// </summary>
        public static MetricsLog4NetConfiguration WithRegionalCsvDelimiter(this MetricsLog4NetConfiguration configuration)
        {
            CsvDelimiter.SetDelimiter(CultureInfo.CurrentCulture.TextInfo.ListSeparator);

            return(configuration);
        }
Пример #9
0
 public static DataTable Parse(TextReader stream, CsvHeadersAction Headers, CsvDelimiter delimiter)
 {
     return(Parse(stream, Headers, (char)delimiter));
 }
Пример #10
0
 //By Filename
 public static DataTable Parse(string filename, Encoding encoding, bool headers, CsvDelimiter delimiter)
 {
     return(Parse(new StreamReader(filename, encoding), headers, (char)delimiter));
 }