< Summary

Class:WinSolutions.Sveta.Server.Data.DataLoading.Parsers.ExcelParser`1
Assembly:WinSolutions.Sveta.Server
File(s):/opt/dev/sveta_api_build/WinSolutions.Sveta.Server/Data/DataLoading/Parsers/ExcelParser.cs
Covered lines:0
Uncovered lines:18
Coverable lines:18
Total lines:35
Line coverage:0% (0 of 18)
Covered branches:0
Total branches:4
Branch coverage:0% (0 of 4)

Metrics

MethodLine coverage Branch coverage
ReadLines(...)0%0%

File(s)

/opt/dev/sveta_api_build/WinSolutions.Sveta.Server/Data/DataLoading/Parsers/ExcelParser.cs

#LineLine coverage
 1using ExcelDataReader;
 2using System;
 3using System.Collections.Generic;
 4using System.Data;
 5using System.IO;
 6using System.Text;
 7using WinSolutions.Sveta.Server.Data.DataModel.Entities;
 8
 9namespace WinSolutions.Sveta.Server.Data.DataLoading.Parsers
 10{
 11    public class ExcelParser<T> : BaseParser<T> where T : BaseRecord, new()
 12    {
 13        protected override DataTable ReadLines(Stream stream)
 014        {
 015            System.Text.Encoding.RegisterProvider(System.Text.CodePagesEncodingProvider.Instance);
 016            using (var reader = ExcelReaderFactory.CreateReader(stream))
 017            {
 018                var conf = new ExcelDataSetConfiguration
 019                {
 020                    ConfigureDataTable = _ => new ExcelDataTableConfiguration
 021                    {
 022                        UseHeaderRow = true,
 023                        ReadHeaderRow = (rowReader) =>
 024                        {
 025                            rowReader.Read(); // пропускаем описание шаблона
 026                            rowReader.Read(); // пропускаем русские колонки
 027                        }
 028                    }
 029                };
 30
 031                return reader.AsDataSet(conf).Tables[0];
 32            }
 033        }
 34    }
 35}

Methods/Properties

ReadLines(...)