Выполнить код по датам из файла 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]); //это для проверки //а дальше делайте что хотите } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д