public void Init(string uri) { lock (_lock) { if (_source == null) { var reader = new XlsFileReader(uri); _source = reader.ReadFile(); } } }
/// <summary> /// Получение всех информационных строк /// </summary> private void GetInfoRows() { XlsFileReader.Read(); string row = XlsFileReader.GetString(0); while (row.StartsWith("#") && XlsFileReader.Read()) { InfoRows.Add(row); row = XlsFileReader.GetString(0); } }
/// <summary> /// Получение всех дат и типов ветров /// </summary> private void GetAllDateTimesAndAllWindTypes() { while (XlsFileReader.Read()) { //Невозможно использовать метод "GetDateTime()", так как вместо "DateTime.Parse(...)" //данный метод использует приведение (DateTime)GetValue(...), и тут возникает исключение string stringDate = XlsFileReader.GetString(_dateTimeColumnIndex); DateTime dateTimeColumn = DateTime.Parse(stringDate); string ddColumn = XlsFileReader.GetString(_ddColumnIndex); AllDateTimes.Add(dateTimeColumn); AllWindTypes.Add(ddColumn); } }
/// <summary> /// Поиск нужных столбцов /// </summary> private void FindColumns() { try { for (int i = 0; ; i++) { string row = XlsFileReader.GetString(i); if (row.Contains("Местное время")) { _dateTimeColumnIndex = i; } else if (row.Contains("DD")) { _ddColumnIndex = i; break; } } } catch { } }
/// <summary> /// Loads cached places from local storage /// </summary> public void Init(string uri) { lock (_cache) { if (_cached) { return; } _uri = uri; var reader = new XlsFileReader(uri); var file = reader.ReadFile(); var sheet = new CartoPlaceSheetData(file.Sheets[0]); foreach (var row in sheet.Rows) { var info = new CartoPlaceInfo(row); _cache.Add(info); } _cached = true; _dirty = false; } }