Подсчет значений с листа excel
Мне нужно подсчитать точность конкретных значений в листе excel в течение определенного периода. Теперь у меня есть эта часть:
string sub = range.Cells[rCnt, 7].Value.ToString();
char[] delimiterChars = { ' ', '/', '.', ':', 't' };
string date = range.Cells[rCnt, 4].Value.ToString();
string[] d = date.Split(delimiterChars);
if (d[0] == "1" && d[2] == "2012" || d[0] == "2" && d[2] == "2012" || d[0] == "3" && d[2] == "2012")
{
if (sub == "AM") { AM[0]++; }
}
Я хочу сделать так, что если дата январь февраль или март 2012 года и значение "AM"
первый пункт в списке AM
добавит 1.
Формат времени - " M/D/Y H:M:S"
есть около 300 пунктов в листе, которые имеют это значение в течение этих месяцев, но это дает обратно около 1000
Может ли это быть что-то с
List<int> AM = Enumerable.Repeat(0, 16).ToList();
Потому что это единственная другая вещь в коде, которая изменяет значения в списке
1 ответ:
Почему бы вам не использовать
DateTime
для разбора значений:DateTime dateTime = DateTime.ParseExact(date.Trim(), "M/d/yyyy H:mm:ss", CultureInfo.InvariantCulture); if((dateTime.Month == 1 || dateTime.Month == 2 || dateTime.Month == 3) && dateTime.Year == 2012) { if (sub == "AM") { AM[0]++; } }
Тестировали на дату в таком формате:" 1/1/2012 20:00: 00 " и это сработало.