Выполнить код по датам из файла Excel - C#
Формулировка задачи:
в файле excel в столбце С записаны даты в формате 02.06.2017 10:07:14. Подскажите пожалуйста как мне работать с каждой строкой за каждый день? то есть пока идет 02.06.2017 я сравниваю строки за эту дату, потом когда переходит на 03.06.2017 заново начинаю сравнение?
Решение задачи: «Выполнить код по датам из файла Excel»
textual
Листинг программы
- //1. взял бы в массив все данные с листа, например, вот так
- Excel.Application xlApp = new Excel.Application(); //Excel
- Excel.Workbook xlWB; //рабочая книга
- Excel.Worksheet xlSht; //лист Excel
- Excel.Range Rng; //диапазон ячеек
- xlWB = xlApp.Workbooks.Open(@"G:\C#\Test Excel.xlsx"); //название файла Excel
- xlSht = xlWB.Worksheets["Лист1"]; //название листа или 1-й лист в книге xlSht = xlWB.Worksheets[1];
- int iLastRow = xlSht.Cells[xlSht.Rows.Count, "A"].End[Excel.XlDirection.xlUp].Row; //последняя заполненная строка в столбце А
- int iLastCol = xlSht.Cells[1, xlSht.Columns.Count].End[Excel.XlDirection.xlToLeft].Column; //последний заполненный столбец в 1-й строке
- //var arrData = (object[,])xlSht.Range["A1:M" + iLastRow].Value; //берём данные с листа Excel
- //var arrData = (object[,])xlSht.Range["A1"].CurrentRegion.Value;
- var arrData = (object[,])xlSht.Range[xlSht.Range["A1"], xlSht.Cells[iLastRow, iLastCol]].Value; //берём данные с листа Excel в двумерный массив
- int iTotalRows = arrData.GetUpperBound(0);
- //2. в цикле бегал бы по столбцу С (т.е. по 3-му столбцу) массива arrData, например, вот так
- for (int iRow = 1; iRow <= iTotalRows; iRow++) //цикл по строкам
- {
- if (arrData[iRow, 3] != null) //если ячейка не пустая
- {
- //тут вам надо через Split(' ') разделить строку с датой и временем, чтобы получили дату
- var myDate = arrData[iRow, 3].Split(' ');
- //MessageBox.Show(myDate[0]); //это для проверки
- //а дальше делайте что хотите
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д