public static BaseImporter CreateImporter(string fileName, BaseImporter baseImporter = null) { switch (Path.GetExtension(fileName)) { case ".csv": return(new CSVImporter(fileName, baseImporter)); case ".xls": case ".xlsx": return(new XLSXImporter(fileName, baseImporter)); default: throw new WrongFileFormatException("Неподдерживаемый формат файла"); } }
/// <summary> /// создает пустой объект импортера /// </summary> protected void Initialize(string filePath, BaseImporter baseImporter = null, FileFormats fileFormat = FileFormats.None) { FilePath = filePath; FileFormat = fileFormat; if (baseImporter == null) { Columns = new Dictionary <ImportFields, int>(); Delimeter = string.Empty; Trimmers = null; StartLine = 0; DirectionUnit = DirectionUnits.None; PressureUnit = PressureUnits.None; Encoding = null; Coordinates = PointLatLng.Empty; BindNearestMS = null; WetnessUnit = WetnessUnits.None; NonRequireFields = new List <ImportFields>() { ImportFields.Pressure, ImportFields.Temperature, ImportFields.Wetness, ImportFields.Direction }; } else { Columns = baseImporter.Columns; Delimeter = baseImporter.Delimeter; Trimmers = baseImporter.Trimmers; StartLine = baseImporter.StartLine; DirectionUnit = baseImporter.DirectionUnit; PressureUnit = baseImporter.PressureUnit; Encoding = baseImporter.Encoding; Coordinates = baseImporter.Coordinates; BindNearestMS = baseImporter.BindNearestMS; WetnessUnit = baseImporter.WetnessUnit; NonRequireFields = baseImporter.NonRequireFields; } }
public XLSXImporter(string fileName, BaseImporter baseImporter) { this.Initialize(fileName, baseImporter, FileFormats.XLSX); }
public CSVImporter(string fileName, BaseImporter baseImporter) { this.Initialize(fileName, baseImporter, FileFormats.CSV); }