コード例 #1
0
        public void TestHeaderAttributes()
        {
            var csvHeaders1 = new CsvHeaders("A", "e");
            var csvHeaders2 = new CsvHeaders <SampleObject>(x => new { x.A, x.E });

            Assert.True(csvHeaders1.SequenceEqual(csvHeaders2));
        }
コード例 #2
0
        public void TestExpression()
        {
            var csvHeaders1 = new CsvHeaders("A", "B", "C", "D");
            var csvHeaders2 = new CsvHeaders <SampleObject>(x => new { x.A, x.B, x.C, x.D });

            Assert.True(csvHeaders1.SequenceEqual(csvHeaders2));
        }
コード例 #3
0
        /// <summary>
        /// Parse a CSV file and convert it into a List of strongly typed Objects.
        /// Never returns null.
        /// If the first line is not headers, and you don't supply any columnProps, then the names of the columns are assumed.
        /// </summary>
        /// <param name="filePath">CSV file path</param>
        /// <param name="headers">Read the first line as the column headers?</param>
        /// <param name="columnProps">Provide the properties per column, if known</param>
        /// <param name="delimiter">Uses the given delimiter</param>
        /// <returns></returns>
        public static CsvResults <T> LoadCSV <T>(this string filePath, CsvHeaders headers, List <string> columnProps = null, char delimiter = ',')
        {
            var text = filePath.LoadTextFile();

            if (text == null)
            {
                return(new CsvResults <T> {
                    Success = false
                });
            }
            return(text.DecodeCSV <T>(headers, columnProps, delimiter));
        }
コード例 #4
0
ファイル: Objects.cs プロジェクト: jetsons/JetPack.Data.Net
        /// <summary>
        /// Parse a CSV file and convert it into a List of strongly typed Objects. Never returns null.
        /// If the first line is not headers, and you don't supply any columnProps,
        /// then the names of the columns are assumed.
        /// </summary>
        /// <param name="csv">CSV-formatted string</param>
        /// <param name="headers">Read the first line as the column headers?</param>
        /// <param name="columnProps">Provide the properties per column, if known</param>
        /// <param name="delimiter">Uses the given delimiter</param>
        public static CsvResults <T> DecodeCSV <T>(this string csv, CsvHeaders headers, List <string> columnProps = null, char delimiter = ',')
        {
            if (!csv.Exists())
            {
                return(new CsvResults <T>());
            }

            csv = csv.Trim();

            return(new CsvDecoder <T>()
            {
                Csv = csv,
                Lines = csv.Lines(),
                Header = headers,
                ColumnProps = columnProps,
                Delimiter = delimiter
            }.DecodeString());
        }
コード例 #5
0
 /// <summary>
 /// Initializes a new instance of the <see cref="CsvTableAccess"/> class.
 /// </summary>
 /// <param name="csvHeaders">List of csv headers</param>
 /// <param name="csvConverterResolver">Your own implementation of a value converter resolver</param>
 public CsvTableAccess(CsvHeaders csvHeaders, ICsvConverterResolver csvConverterResolver)
     : base(csvConverterResolver)
 {
     Headers = csvHeaders;
 }
コード例 #6
0
 /// <summary>
 /// Initializes a new instance of the <see cref="CsvTableAccess"/> class.
 /// </summary>
 /// <param name="csvConverterResolver">Your own implementation of a value converter resolver</param>
 public CsvTableAccess(ICsvConverterResolver csvConverterResolver)
     : base(csvConverterResolver)
 {
     Headers = new CsvHeaders();
 }
コード例 #7
0
 /// <summary>
 /// Initializes a new instance of the <see cref="CsvTableAccess"/> class.
 /// </summary>
 /// <param name="csvHeaders">List of csv headers</param>
 public CsvTableAccess(CsvHeaders csvHeaders)
     : base()
 {
     Headers = csvHeaders;
 }
コード例 #8
0
 /// <summary>
 /// Initializes a new instance of the <see cref="CsvTableAccess"/> class.
 /// </summary>
 public CsvTableAccess()
     : base()
 {
     Headers = new CsvHeaders();
 }