Beispiel #1
0
 public Worker(string fileName)
 {
     flag        = true;
     fileWorker  = fileName;
     objectExcel = new Application();
     //bookWorker = OpenBook.Open(objectExcel, fileWorker);
     OpenExcelBook.OpenBook bk = new OpenExcelBook.OpenBook();
     bookWorker = bk.OpenFile(objectExcel, fileWorker);
     sizeWork   = bookWorker.Sheets.Count;
     sheet      = new _Worksheet[sizeWork];
     clWork     = new Class1[sizeWork];
     if (bookWorker.Worksheets.Count >= sizeWork)
     {
         for (int i = 0; i < sizeWork; i++)
         {
             sheet[i]  = (_Worksheet)bookWorker.Worksheets[i + 1];
             clWork[i] = new Class1(sheet[i]);
         }
         if (clWork[0].getcell(2, 17).ToString() != "Номер строки маршрутки")
         {
             flag = false;
             MessageBox.Show("Это не лист заданий", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
             return;
         }
     }
 }
Beispiel #2
0
 public RunWorks(string fileName)
 {
     flag        = true;
     fileWorker  = fileName;
     objectExcel = new Application();
     //bookWorker = OpenBook.Open(objectExcel, fileWorker);
     OpenExcelBook.OpenBook bk = new OpenExcelBook.OpenBook();
     bookWorker = bk.OpenFile(objectExcel, fileWorker);
     sizeWork   = bookWorker.Sheets.Count;
     sheet      = new _Worksheet[sizeWork];
     clRun      = new Class1[sizeWork];
     if (bookWorker.Worksheets.Count >= sizeWork)
     {
         for (int i = 0; i < sizeWork; i++)
         {
             sheet[i] = (_Worksheet)bookWorker.Worksheets[i + 1];
             clRun[i] = new Class1(sheet[i]);
         }
     }
     if (clRun[0].getcell(2, 17).ToString() != "Стоимость")
     {
         flag = false;
         MessageBox.Show("Это не лист выполненных заданий", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
         return;
     }
     int[] ind = new int[sizeWork];
     for (int i = 0; i < sizeWork; i++)
     {
         ind[i] = 5;
         while (clRun[i].getcell(ind[i], 1) != null)
         {
             ind[i]++;
         }
     }
 }
Beispiel #3
0
 public UnitMarsh(string fileName)
 {
     flag        = true;
     fileMarsh   = fileName;
     objectExcel = new Application();
     // bookMarch = OpenBook.Open(objectExcel, fileMarsh);
     OpenExcelBook.OpenBook bk = new OpenExcelBook.OpenBook();
     bookMarch = bk.OpenFile(objectExcel, fileMarsh);
     marsh     = (_Worksheet)bookMarch.Worksheets[1];
     if (marsh.Name != "Маршрутка") //Если ИМЯ в данной строке не является Маршрутка
     {
         flag = false;
         MessageBox.Show("Это не маршрутка", "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error);
         return;
     }
     else //Переходим сюда
     {
         sheet  = new _Worksheet[size];
         cls    = new Class1[size];
         begine = 7; //Cтрока с которой начинаем оброботку данных.
         for (int i = 0; i < size; i++)
         {
             sheet[i] = (_Worksheet)bookMarch.Worksheets[i + 2];
             cls[i]   = new Class1(sheet[i]);
             int rw = 8;
             while (cls[i].getcell(rw, 17) != null) // Проверяет листы на наличие данных. Если хотя бы на одном из листов есть данные, то оброботка данных не происходит.
             {
                 try
                 {
                     if (begine < Convert.ToInt32(cls[i].getcell(rw, 17)))
                     {
                         begine = Convert.ToInt32(cls[i].getcell(rw, 17)); //Устанавливает номер строки с которой начинать оброботку данных.????
                     }
                     rw++;
                 }
                 catch (Exception)
                 {
                     MessageBox.Show(
                         "Неверный формат: лист " + (i + 2).ToString() + ", строка " + rw.ToString(), "Ошибка",
                         MessageBoxButton.OK, MessageBoxImage.Error);
                     objectExcel.Quit();
                     return;
                 }
             }
         }
         string str = "";
         clM      = new Class1(marsh);
         sizeRows = 7;
         while (str != "*")
         {
             sizeRows++;
             if (sizeRows == 5000) // Проверка на наличие метки конца листа *
             {
                 MessageBox.Show("Нет конца листа. Проверте данные.", "Ошибка", MessageBoxButton.OK,
                                 MessageBoxImage.Error);
                 objectExcel.Quit();
                 return;
             }
             if (clM.getcell(sizeRows, 11) != null)
             {
                 str = clM.getcell(sizeRows, 11).ToString();
             }
         }
         for (int k = 0; k < koef.Capacity; k++)
         {
             koef.Add(Convert.ToInt32(clM.getcell(8, 10)));
         }
     }
 }