示例#1
0
 private ExcelParser(IXLRangeBase range, CsvConfiguration configuration)
 {
     Workbook      = range.Worksheet.Workbook;
     this.range    = range;
     Configuration = configuration ?? new CsvConfiguration(CultureInfo.InvariantCulture);
     FieldCount    = range.CellsUsed().Max(cell => cell.Address.ColumnNumber) -
                     range.CellsUsed().Min(cell => cell.Address.ColumnNumber) + 1;
     Context     = new ReadingContext(TextReader.Null, Configuration, false);
     FieldReader = new CsvFieldReader(TextReader.Null, Configuration, false);
 }
示例#2
0
        public List <string[]> ReadFields()
        {
            CheckIfFileExist();
            var fieldsList = new List <string[]>();

            using (var csvFieldParser = new CsvFieldReader(FilePath))
            {
                //Skip Csv Header Line
                csvFieldParser.ReadLine();
                while (!csvFieldParser.EndOfData)
                {
                    fieldsList.Add(csvFieldParser.ReadFields());
                }
            }
            return(fieldsList);
        }
示例#3
0
        private Result[] GetResultsFromStream(Stream input)
        {
            var results = new List <Result>();

            using (var reader = new StreamReader(input))
            {
                var csvConfiguration = new CsvConfiguration(CultureInfo.InvariantCulture)
                {
                    Delimiter = ","
                };

                using (var fieldReader = new CsvFieldReader(reader, csvConfiguration, true))
                    using (_parser = new CsvParser(fieldReader))
                    {
                        string[] row = null;
                        while ((row = _parser.Read()) != null)
                        {
                            results.Add(ParseResult(row));
                        }
                    }
            }

            return(results.ToArray());
        }