//Сохранение результатов исследований
 private void Saving_Click(object sender, RoutedEventArgs e)
 {
     //Проверка было ли произведено исследование
     if (result == -1)
     {
         MessageBox.Show("Вычисление процента студентов не было произведено.", "Ошибка выполнения", MessageBoxButton.OK, MessageBoxImage.Error);
         return;
     }
     if (saveDialog.ShowDialog() != false)
     {
         try
         {
             //Создание файла содержащего результаты исследований
             Excel.Application ObjExcel = new Excel.Application();
             //Книга
             Excel.Workbook ObjWorkBook;
             //Таблица
             Excel.Worksheet ObjWorkSheet;
             ObjWorkBook  = ObjExcel.Workbooks.Add(System.Reflection.Missing.Value);
             ObjWorkSheet = (Excel.Worksheet)ObjWorkBook.Sheets[1];
             //Заполнение значениями
             ObjWorkSheet.Name        = "Результат исследований";
             ObjWorkSheet.Cells[1, 1] = "% студентов, которые учаться только на оценки «4 и 5»";
             ObjWorkSheet.Cells[1, 2] = result;
             ObjWorkSheet.UsedRange.Columns.AutoFit();
             //Сохранение
             ObjWorkBook.SaveAs(saveDialog.FileName);
             ObjExcel.Quit();
         }
         catch (Exception exc)
         {
             MessageBox.Show("Ошибка:\n" + exc.Message, "Ошибка выполнения", MessageBoxButton.OK, MessageBoxImage.Error);
         }
     }
 }
        public void SaveRootsToExcel(string path, double[] roots)//сохранение ответов в файл
        {
            Excel.Application ObjExcel = new Excel.Application();
            Excel.Workbook    ObjWorkBook;
            Excel.Worksheet   ObjWorkSheet;
            ObjWorkBook = ObjExcel.Workbooks.Add(System.Reflection.Missing.Value);
            ObjWorkBook = ObjExcel.Workbooks.Add(path);
            //Таблица.
            ObjWorkSheet = (Excel.Worksheet)ObjWorkBook.Sheets[1];
            int count = 0;

            for (int i = 0; i < dataGridView1.RowCount - 2; i++)
            {
                for (int j = 0; j < dataGridView1.ColumnCount - 2; j++)
                {
                    ObjWorkSheet.Cells[i + 1, j + 1] = roots[count];
                    count++;
                }
            }
            ObjExcel.Visible                = true;
            ObjExcel.UserControl            = true;
            ObjExcel.AlertBeforeOverwriting = false;
            ObjWorkBook.SaveAs(path);
            ObjExcel.Quit();
        }
Exemple #3
0
        public static void write_excel(string[] str)
        {
            try
            {
                Microsoft.Office.Interop.Excel.Application ObjExcel = new Microsoft.Office.Interop.Excel.Application();
                Microsoft.Office.Interop.Excel.Workbook    ObjWorkBook;
                Microsoft.Office.Interop.Excel.Worksheet   ObjWorkSheet;
                ObjExcel.Visible       = false;
                ObjExcel.UserControl   = true;
                ObjExcel.DisplayAlerts = false;
                ObjWorkBook            = ObjExcel.Workbooks.Open("C:\\Шаблон.xls");
                ObjWorkSheet           = ObjWorkBook.Sheets[3];

                int iNums = str.Length;

                switch (iNums)
                {
                case 1:
                {
                    ObjWorkSheet.Cells[4, 4] = str[0];
                    break;
                }

                case 2:
                {
                    ObjWorkSheet.Cells[4, 4] = str[0];
                    ObjWorkSheet.Cells[5, 4] = str[1];
                    break;
                }

                case 3:
                {
                    ObjWorkSheet.Cells[4, 4] = str[0];
                    ObjWorkSheet.Cells[5, 4] = str[1];
                    ObjWorkSheet.Cells[6, 4] = str[2];
                    break;
                }

                case 4:
                {
                    ObjWorkSheet.Cells[4, 4] = str[0];
                    ObjWorkSheet.Cells[5, 4] = str[1];
                    ObjWorkSheet.Cells[6, 4] = str[2];
                    ObjWorkSheet.Cells[7, 4] = str[3];
                    break;
                }
                }

                ObjWorkBook.SaveAs("C:\\Шаблон_Изменен.xls");
                ObjExcel.Quit();
            }

            catch (Exception ex)
            {
                Console.Write(ex.Message);
            }
        }
Exemple #4
0
        public static void write_excel2(string[] str)
        {
            try
            {
                Microsoft.Office.Interop.Excel.Application ObjExcel = new Microsoft.Office.Interop.Excel.Application();
                Microsoft.Office.Interop.Excel.Workbook    ObjWorkBook;
                Microsoft.Office.Interop.Excel.Worksheet   ObjWorkSheet;
                ObjExcel.Visible       = false;
                ObjExcel.UserControl   = true;
                ObjExcel.DisplayAlerts = false;
                ObjWorkBook            = ObjExcel.Workbooks.Open("C:\\Шаблон_Изменен.xls");
                ObjWorkSheet           = ObjWorkBook.Sheets[3];

                int iNums = str.Length;

                switch (iNums)
                {
                case 5:
                {
                    ObjWorkSheet.Cells[8, 4] = str[4];
                    break;
                }

                case 6:
                {
                    ObjWorkSheet.Cells[8, 4] = str[4];
                    ObjWorkSheet.Cells[9, 4] = str[5];
                    break;
                }

                case 7:
                {
                    ObjWorkSheet.Cells[8, 4]  = str[4];
                    ObjWorkSheet.Cells[9, 4]  = str[5];
                    ObjWorkSheet.Cells[10, 4] = str[6];
                    break;
                }

                case 8:
                {
                    ObjWorkSheet.Cells[8, 4]  = str[4];
                    ObjWorkSheet.Cells[9, 4]  = str[5];
                    ObjWorkSheet.Cells[10, 4] = str[6];
                    ObjWorkSheet.Cells[11, 4] = str[7];
                    break;
                }
                }

                ObjWorkBook.Save();
                ObjExcel.Quit();
            }

            catch (Exception ex)
            {
                Console.Write(ex.Message);
            }
        }
Exemple #5
0
        public void ExcelDiagr()
        {
            try
            {
                Excel.Application ObjExcel = new Excel.Application();
                Excel.Workbook    ObjWorkBook;
                Excel.Worksheet   ObjWorkSheet;
                ObjWorkBook  = ObjExcel.Workbooks.Add(System.Reflection.Missing.Value);
                ObjWorkSheet = (Excel.Worksheet)ObjWorkBook.Sheets[1];
                for (int i = 1; i <= dictSum.Count; i++)
                {
                    ObjWorkSheet.Cells[i, 1] = Convert.ToString(dictSum[i]);
                    ObjWorkSheet.Cells[i, 2] = Convert.ToString(dictCount[i]);
                }
                //ObjWorkSheet.Cells[3, 1] = "51";
                //ObjExcel.Application.DisplayAlerts = true;
                ObjExcel.DisplayAlerts = false;
                ObjWorkBook.SaveAs("book.xlsx", Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Excel.XlSaveAsAccessMode.xlExclusive,
                                   Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);

                ObjExcel.Quit();
            }
            catch (Exception exc)
            {
                throw exc;
            }


            Excel.Application excelapp = new Excel.Application();
            try
            {
                // if (checkBox1.Checked){
                ExcelDiagr1();
                //}else if(checkBox2.Checked)
                //{
                ExcelDiagr2();
                //}


                // MessageBox.Show("OK");
            }
            catch (Exception exc)
            {
                excelapp.Quit();
                throw exc;
            }
        }
        public void ExcelDiagr()
        {
            DataForBD.iter = 0;
            try
            {
                Excel.Application ObjExcel = new Excel.Application();
                Excel.Workbook    ObjWorkBook;
                Excel.Worksheet   ObjWorkSheet;
                ObjWorkBook  = ObjExcel.Workbooks.Add(System.Reflection.Missing.Value);
                ObjWorkSheet = (Excel.Worksheet)ObjWorkBook.Sheets[1];
                for (int i = 1; i <= dictSum.Count; i++)
                {
                    ObjWorkSheet.Cells[i, 1] = Convert.ToString(dictSum[i]);
                    ObjWorkSheet.Cells[i, 2] = Convert.ToString(dictCount[i]);
                }
                //ObjWorkSheet.Cells[3, 1] = "51";
                //ObjExcel.Application.DisplayAlerts = true;
                ObjExcel.DisplayAlerts = false;
                ObjWorkBook.SaveAs("book.xlsx", Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Excel.XlSaveAsAccessMode.xlExclusive,
                                   Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);

                ObjExcel.Quit();
            }
            catch (Exception exc)
            {
                throw exc;
            }

            DataForBD.iter = 1;
            Excel.Application excelapp = new Excel.Application();
            try
            {
                DataForBD.iter = 2;
                ExcelDiagr1();
                DataForBD.iter = 4;
                ExcelDiagr2();

                DataForBD.iter = 6;
            }
            catch (Exception exc)
            {
                excelapp.Quit();
                throw exc;
            }
        }
Exemple #7
0
        private void button1_Click(object sender, EventArgs e)
        {
            OpenFileDialog ofd = new OpenFileDialog();

            if (ofd.ShowDialog() == DialogResult.OK)
            {
                textBox1.RightToLeft = RightToLeft.Yes;
                textBox1.Text        = ofd.FileName;
                string nameTxt = textBox1.Text + ".txt";

                Excel.Application ObjExcel = new Excel.Application();
                Excel.Workbook    ObjWorkBook;
                Excel.Worksheet   ObjWorkSheet;

                ObjWorkBook  = ObjExcel.Workbooks.Add(textBox1.Text);
                ObjWorkSheet = (Excel.Worksheet)ObjWorkBook.Sheets[1];
                ObjWorkBook.SaveAs(nameTxt, FileFormat.)
            }
        }
Exemple #8
0
        private void SaveXLS_Click(object sender, EventArgs e)
        {
            Microsoft.Office.Interop.Excel.Application ObjExcel = new Microsoft.Office.Interop.Excel.Application();
            Microsoft.Office.Interop.Excel.Workbook    ObjWorkBook;
            Microsoft.Office.Interop.Excel.Worksheet   ObjWorkSheet;
            //Книга.
            ObjWorkBook = ObjExcel.Workbooks.Add(System.Reflection.Missing.Value);
            //Таблица.
            ObjWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)ObjWorkBook.Sheets[1];

            //Значения [y - строка,x - столбец]
            for (int i = 0; i <= ArrData.rowNumber; i++)
            {
                ObjWorkSheet.Cells[i + 1, 1] = ArrData.arrNum[i];
                ObjWorkSheet.Cells[i + 1, 2] = ArrData.arrValue[i];
            }


            string         fileName    = String.Empty;
            SaveFileDialog saveFileXLS = new SaveFileDialog();

            saveFileXLS.Filter           = "Excel files (*.xlsx)|*.xlsx|All files (*.*)|*.*";
            saveFileXLS.FilterIndex      = 2;
            saveFileXLS.RestoreDirectory = true;
            if (saveFileXLS.ShowDialog() == DialogResult.OK)
            {
                fileName = saveFileXLS.FileName;
            }
            else
            {
                return;
            }

            ObjWorkBook.SaveAs(fileName, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
            ObjWorkBook.Close(false, Type.Missing, Type.Missing);
            ObjExcel.Quit();
            saveFileXLS.Dispose();
        }
Exemple #9
0
        private void wordToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Excel.Application ObjExcel = new Excel.Application();
            Excel.Workbook    ObjWorkBook;
            Excel.Worksheet   ObjWorkSheet;
            //Object templatePathObj = "КУН_АТ.xltx"; //может использовать шаблон?
            ObjWorkBook  = ObjExcel.Workbooks.Add(System.Reflection.Missing.Value);         //Книга
            ObjWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)ObjWorkBook.Sheets[1]; //Таблица

            ObjWorkSheet.PageSetup.LeftMargin   = 0.64;
            ObjWorkSheet.PageSetup.TopMargin    = 1.91;
            ObjWorkSheet.PageSetup.RightMargin  = 0.64;
            ObjWorkSheet.PageSetup.BottomMargin = 1.91;
            //
            //Задаём ширину столбцов равную 5мм в 2 клетки
            //
            int col = 1;

            while (col < 80)
            {
                ObjWorkSheet.Columns[col].ColumnWidth = 0.75;
                col++;
            }
            //
            //Задаём высоту строк равную 5мм в 2 клетки
            //
            int row = 1;

            while (row < 101)
            {
                ObjWorkSheet.Columns[row].RowHeight = 7.5;
                row++;
            }
            //
            // Выделяем диапазоны ячеек
            //
            Excel.Range _excelCells1  = ObjWorkSheet.get_Range("BK2", "BP3").Cells;  //NumberOfKUN.Text
            Excel.Range _excelCells2  = ObjWorkSheet.get_Range("C2", "BJ3").Cells;   // Карточка учёта неисправности авиатехники
            Excel.Range _excelCells3  = ObjWorkSheet.get_Range("C5", "N6").Cells;    // Дата
            Excel.Range _excelCells4  = ObjWorkSheet.get_Range("O5", "Z6").Cells;    // Борт ВС
            Excel.Range _excelCells5  = ObjWorkSheet.get_Range("AA5", "AH6").Cells;  // Тип ВС
            Excel.Range _excelCells6  = ObjWorkSheet.get_Range("AI5", "AP6").Cells;  // № двиг.
            Excel.Range _excelCells7  = ObjWorkSheet.get_Range("AQ5", "BJ6").Cells;  // Владелец
            Excel.Range _excelCells8  = ObjWorkSheet.get_Range("BK5", "BV6").Cells;  // BoardOwner.Text
            Excel.Range _excelCells9  = ObjWorkSheet.get_Range("C7", "N8").Cells;    // DateOfKUN.Text
            Excel.Range _excelCells10 = ObjWorkSheet.get_Range("O7", "Z8").Cells;    // NumBoardAircraft1+2+3+4+5
            Excel.Range _excelCells11 = ObjWorkSheet.get_Range("AA7", "AH8").Cells;  // TapeAirboard.Text
            Excel.Range _excelCells12 = ObjWorkSheet.get_Range("AI7", "AP8").Cells;  // EngineNum1+2+3+4
            Excel.Range _excelCells13 = ObjWorkSheet.get_Range("AQ7", "BJ8").Cells;  // Аэропорт посадки
            Excel.Range _excelCells14 = ObjWorkSheet.get_Range("BK7", "BV8").Cells;  // Airport.Text
            Excel.Range _excelCells15 = ObjWorkSheet.get_Range("C12", "BV17").Cells; // Текст
            Excel.Range _excelCells16 = ObjWorkSheet.get_Range("C10", "Y11").Cells;  // Проявление неисправности
            //Excel.Range _excelCells17 = ObjWorkSheet.get_Range("BK5", "BP6").Cells;
            //Excel.Range _excelCells18 = ObjWorkSheet.get_Range("BK5", "BP6").Cells;
            //Excel.Range _excelCells19 = ObjWorkSheet.get_Range("BK5", "BP6").Cells;
            Excel.Range _excelCells20 = ObjWorkSheet.get_Range("C18", "AV19").Cells;  // Этап обслуживания
            Excel.Range _excelCells21 = ObjWorkSheet.get_Range("C20", "Y21").Cells;   // На земле
            Excel.Range _excelCells22 = ObjWorkSheet.get_Range("Z20", "AV21").Cells;  // В полёте
            Excel.Range _excelCells23 = ObjWorkSheet.get_Range("AW20", "BV21").Cells; // Последствия
            Excel.Range _excelCells24 = ObjWorkSheet.get_Range("C22", "D23").Cells;   // 11
            Excel.Range _excelCells25 = ObjWorkSheet.get_Range("C24", "D25").Cells;   // 12
            Excel.Range _excelCells26 = ObjWorkSheet.get_Range("C26", "D27").Cells;   // 13
            Excel.Range _excelCells27 = ObjWorkSheet.get_Range("C28", "D29").Cells;   // 14
            Excel.Range _excelCells28 = ObjWorkSheet.get_Range("C30", "D31").Cells;   // 15
            Excel.Range _excelCells29 = ObjWorkSheet.get_Range("C32", "D33").Cells;   // 16
            Excel.Range _excelCells30 = ObjWorkSheet.get_Range("C34", "D35").Cells;   // 17
            Excel.Range _excelCells31 = ObjWorkSheet.get_Range("C36", "D37").Cells;   // 18
            Excel.Range _excelCells32 = ObjWorkSheet.get_Range("E22", "Y23").Cells;   // 11. Подготовка к вылету
            Excel.Range _excelCells33 = ObjWorkSheet.get_Range("E24", "Y25").Cells;   // 12. Буксировка
            Excel.Range _excelCells34 = ObjWorkSheet.get_Range("E26", "Y27").Cells;   // 13. Запуск двигателей
            Excel.Range _excelCells35 = ObjWorkSheet.get_Range("E28", "Y29").Cells;   // 14. Руление
            Excel.Range _excelCells36 = ObjWorkSheet.get_Range("E30", "Y31").Cells;   // 15. Оперативное ТО
            Excel.Range _excelCells37 = ObjWorkSheet.get_Range("E32", "Y33").Cells;   // 16. Периодическое ТО
            Excel.Range _excelCells38 = ObjWorkSheet.get_Range("E34", "Y35").Cells;   // 17. Прочее ТО
            Excel.Range _excelCells39 = ObjWorkSheet.get_Range("E36", "Y37").Cells;   // 18. Диагностирование
            //
            // Производим объединение
            //
            _excelCells1.Merge(Type.Missing);
            _excelCells2.Merge(Type.Missing);
            _excelCells3.Merge(Type.Missing);
            _excelCells4.Merge(Type.Missing);
            _excelCells5.Merge(Type.Missing);
            _excelCells6.Merge(Type.Missing);
            _excelCells7.Merge(Type.Missing);
            _excelCells8.Merge(Type.Missing);
            _excelCells9.Merge(Type.Missing);
            _excelCells10.Merge(Type.Missing);
            _excelCells11.Merge(Type.Missing);
            _excelCells12.Merge(Type.Missing);
            _excelCells13.Merge(Type.Missing);
            _excelCells14.Merge(Type.Missing);
            _excelCells15.Merge(Type.Missing);
            _excelCells16.Merge(Type.Missing);
            //_excelCells17.Merge(Type.Missing);
            //_excelCells18.Merge(Type.Missing);
            //_excelCells19.Merge(Type.Missing);
            _excelCells20.Merge(Type.Missing);
            _excelCells21.Merge(Type.Missing);
            _excelCells22.Merge(Type.Missing);
            _excelCells23.Merge(Type.Missing);
            _excelCells24.Merge(Type.Missing);
            _excelCells25.Merge(Type.Missing);
            _excelCells26.Merge(Type.Missing);
            _excelCells27.Merge(Type.Missing);
            _excelCells28.Merge(Type.Missing);
            _excelCells29.Merge(Type.Missing);
            _excelCells30.Merge(Type.Missing);
            _excelCells31.Merge(Type.Missing);
            _excelCells32.Merge(Type.Missing);
            _excelCells33.Merge(Type.Missing);
            _excelCells34.Merge(Type.Missing);
            _excelCells35.Merge(Type.Missing);
            _excelCells36.Merge(Type.Missing);
            _excelCells37.Merge(Type.Missing);
            _excelCells38.Merge(Type.Missing);
            _excelCells39.Merge(Type.Missing);
            //
            //форматируем оформление
            //
            _excelCells1.HorizontalAlignment  = Excel.Constants.xlLeft;
            _excelCells2.HorizontalAlignment  = Excel.Constants.xlRight;
            _excelCells3.HorizontalAlignment  = Excel.Constants.xlCenter;
            _excelCells4.HorizontalAlignment  = Excel.Constants.xlCenter;
            _excelCells5.HorizontalAlignment  = Excel.Constants.xlCenter;
            _excelCells6.HorizontalAlignment  = Excel.Constants.xlCenter;
            _excelCells7.HorizontalAlignment  = Excel.Constants.xlCenter;
            _excelCells8.HorizontalAlignment  = Excel.Constants.xlRight;
            _excelCells9.HorizontalAlignment  = Excel.Constants.xlCenter;
            _excelCells10.HorizontalAlignment = Excel.Constants.xlCenter;
            _excelCells11.HorizontalAlignment = Excel.Constants.xlCenter;
            _excelCells12.HorizontalAlignment = Excel.Constants.xlCenter;
            _excelCells13.HorizontalAlignment = Excel.Constants.xlCenter;
            _excelCells14.HorizontalAlignment = Excel.Constants.xlRight;
            _excelCells15.HorizontalAlignment = Excel.Constants.xlLeft;
            _excelCells16.HorizontalAlignment = Excel.Constants.xlLeft;
            //_excelCells17.HorizontalAlignment = Excel.Constants.xlCenter;
            //_excelCells18.HorizontalAlignment = Excel.Constants.xlCenter;
            //_excelCells19.HorizontalAlignment = Excel.Constants.xlCenter;
            _excelCells20.HorizontalAlignment = Excel.Constants.xlLeft;
            _excelCells21.HorizontalAlignment = Excel.Constants.xlLeft;
            _excelCells22.HorizontalAlignment = Excel.Constants.xlLeft;
            _excelCells23.HorizontalAlignment = Excel.Constants.xlLeft;
            _excelCells24.HorizontalAlignment = Excel.Constants.xlCenter;
            _excelCells25.HorizontalAlignment = Excel.Constants.xlCenter;
            _excelCells26.HorizontalAlignment = Excel.Constants.xlCenter;
            _excelCells27.HorizontalAlignment = Excel.Constants.xlCenter;
            _excelCells28.HorizontalAlignment = Excel.Constants.xlCenter;
            _excelCells29.HorizontalAlignment = Excel.Constants.xlCenter;
            _excelCells30.HorizontalAlignment = Excel.Constants.xlCenter;
            _excelCells31.HorizontalAlignment = Excel.Constants.xlCenter;
            _excelCells32.HorizontalAlignment = Excel.Constants.xlLeft;
            _excelCells33.HorizontalAlignment = Excel.Constants.xlLeft;
            _excelCells34.HorizontalAlignment = Excel.Constants.xlLeft;
            _excelCells35.HorizontalAlignment = Excel.Constants.xlLeft;
            _excelCells36.HorizontalAlignment = Excel.Constants.xlLeft;
            _excelCells37.HorizontalAlignment = Excel.Constants.xlLeft;
            _excelCells38.HorizontalAlignment = Excel.Constants.xlLeft;
            _excelCells39.HorizontalAlignment = Excel.Constants.xlLeft;
            //
            //Заполняем ячейки данными
            //
            ObjWorkSheet.Cells[2, 3]   = "Карточка учёта неисправности авиатехники №";
            ObjWorkSheet.Cells[2, 63]  = NumberOfKUN.Text;
            ObjWorkSheet.Cells[5, 3]   = "Дата";
            ObjWorkSheet.Cells[5, 15]  = "Борт ВС";
            ObjWorkSheet.Cells[5, 27]  = "Тип ВС";
            ObjWorkSheet.Cells[5, 35]  = "№ двиг.";
            ObjWorkSheet.Cells[5, 43]  = "Предприятие - владелец ВС";
            ObjWorkSheet.Cells[5, 63]  = BoardOwner.Text;
            ObjWorkSheet.Cells[7, 3]   = DateOfKUN.Text;
            ObjWorkSheet.Cells[7, 15]  = NumBoardAircraft1.Text + NumBoardAircraft2.Text + NumBoardAircraft3.Text + NumBoardAircraft4.Text + NumBoardAircraft5.Text;
            ObjWorkSheet.Cells[7, 27]  = TapeAirboard.Text;
            ObjWorkSheet.Cells[7, 35]  = EngineNum1.Text + EngineNum2.Text + EngineNum3.Text + EngineNum4.Text;
            ObjWorkSheet.Cells[7, 43]  = "Аэропорт посадки";
            ObjWorkSheet.Cells[7, 63]  = Airport.Text;
            ObjWorkSheet.Cells[10, 3]  = "Проявление неисправности ВС";
            ObjWorkSheet.Cells[12, 3]  = ReportDetails.Text;
            ObjWorkSheet.Cells[18, 3]  = "Этап обслуживания";
            ObjWorkSheet.Cells[20, 3]  = "На земле";
            ObjWorkSheet.Cells[20, 26] = "В полёте";
            ObjWorkSheet.Cells[20, 49] = "Последствия";
            ObjWorkSheet.Cells[22, 5]  = "11. Подготовка к вылету";
            ObjWorkSheet.Cells[24, 5]  = "12. Буксировка";
            ObjWorkSheet.Cells[26, 5]  = "13. Запуск двигателей";
            ObjWorkSheet.Cells[28, 5]  = "14. Руление";
            ObjWorkSheet.Cells[30, 5]  = "15. Оперативное ТО";
            ObjWorkSheet.Cells[32, 5]  = "16. Периодическое ТО";
            ObjWorkSheet.Cells[34, 5]  = "17. Прочее ТО";
            ObjWorkSheet.Cells[36, 5]  = "18. Диагностирование";


            //
            //Защищаем структуру книги
            //
            string s = "$u5erPa$$word";

            ObjWorkBook.Protect(s, true, false);
            //
            //защищаем данные от редактирования
            //
            foreach (Excel.Worksheet sheet in ObjWorkBook.Worksheets)
            {
                sheet.Protect(s, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true);
            }
            //
            //Показываем окно экселя и передаём управление пользователю
            //
            ObjExcel.Visible     = true;
            ObjExcel.UserControl = true;
        }
        private void btn_generate_Click(object sender, EventArgs e)
        {
            btn_generate.Enabled = false;
            progressbar.Value    = 0;

            List <string> barcodes  = new List <string>(); // cписок введенных баркодов
            List <string> art       = new List <string>(); // список артиклов на основе баркодов
            List <Image>  barimages = new List <Image>();  // список сгенерированных изображений баркодов
            int           i         = 0;
            string        temp;
            int           height = Convert.ToInt32(txt_height.Text);
            int           width  = Convert.ToInt32(txt_width.Text);
            String        folder = txt_folder.Text;
            int           range  = txt_codes.Lines.Length; //колличество введеных баркодов

            if (check_values())
            {
                for (i = 0; i < range; i++)
                {
                    temp = txt_codes.Lines[i].Trim();
                    art.Add(temp.Substring(8, 4));          // формирование списка артикулов
                    barcodes.Add(temp);

                    //параметры изображения баркода
                    BarcodeLib.Barcode barcode = new BarcodeLib.Barcode()
                    {
                        IncludeLabel   = true,
                        Alignment      = AlignmentPositions.CENTER,
                        Width          = width,
                        Height         = height,
                        RotateFlipType = RotateFlipType.RotateNoneFlipNone,
                        BackColor      = Color.White,
                        ForeColor      = Color.Black,
                    };

                    //генерация изображения баркода и запись в список
                    Image img = barcode.Encode(TYPE.EAN13, temp);
                    barimages.Add(img);

                    //сохранение изображений баркодов

                    img.Save(folder + "/" + temp + ".png", System.Drawing.Imaging.ImageFormat.Png);
                    progressbar.Value += 50 / range;
                }
                //создание и формирование excel файлов на основе
                //списков баркодов и изображений
                for (i = 0; i < range; i++)
                {
                    Microsoft.Office.Interop.Excel.Application ExcelAppR = new Microsoft.Office.Interop.Excel.Application();
                    Microsoft.Office.Interop.Excel.Workbook    ObjWorkBook;

                    ObjWorkBook = ExcelAppR.Workbooks.Open(Application.StartupPath + "/Res/ex.xls");
                    Microsoft.Office.Interop.Excel.Worksheet m_workSheet = null;
                    m_workSheet = ExcelAppR.ActiveSheet;

                    int j = 0;
                    for (j = 2; j < 8; j++)
                    {
                        //добавление подписей Артикул под каждый бар код в файле excel
                        m_workSheet.Cells[j * 2 - 1, 1] = "Артикул: " + art[i];
                        m_workSheet.Cells[j * 2 - 1, 2] = "Артикул: " + art[i];
                        m_workSheet.Cells[j * 2 - 1, 3] = "Артикул: " + art[i];

                        //добавление изображений баркода в файл excel
                        int top  = Convert.ToInt32(m_workSheet.Cells[j * 2 - 2, 1].Top);
                        int left = Convert.ToInt32(m_workSheet.Cells[j * 2 - 2, 1].Left);
                        m_workSheet.Shapes.AddPicture(folder + "/" + barcodes[i] + ".png", Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoCTrue, left, top, -1, -1);
                        top  = Convert.ToInt32(m_workSheet.Cells[j * 2 - 2, 2].Top);
                        left = Convert.ToInt32(m_workSheet.Cells[j * 2 - 2, 2].Left);
                        m_workSheet.Shapes.AddPicture(folder + "/" + barcodes[i] + ".png", Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoCTrue, left, top, -1, -1);
                        top  = Convert.ToInt32(m_workSheet.Cells[j * 2 - 2, 3].Top);
                        left = Convert.ToInt32(m_workSheet.Cells[j * 2 - 2, 3].Left);
                        m_workSheet.Shapes.AddPicture(folder + "/" + barcodes[i] + ".png", Microsoft.Office.Core.MsoTriState.msoFalse, Microsoft.Office.Core.MsoTriState.msoCTrue, left, top, -1, -1);
                    }


                    ObjWorkBook.SaveAs(folder + "/art-" + art[i] + ".xls",
                                       Microsoft.Office.Interop.Excel.XlFileFormat.xlWorkbookNormal, null, null, null, null,
                                       Microsoft.Office.Interop.Excel.XlSaveAsAccessMode.xlExclusive, null, null, null, null, null);
                    ObjWorkBook.Close(false, null, null);

                    progressbar.Value += 50 / range;
                }

                progressbar.Value = 100;
            }
            btn_generate.Enabled = true;
        }
Exemple #11
0
        /// <summary>
        /// считываем из экселя в грид
        /// </summary>
        /// <param name="dataGridView1">куда считываем</param>
        public void ReadFromExcell(System.Windows.Forms.DataGridView dataGridView1)
        {
            Microsoft.Office.Interop.Excel.Application ObjExcel;
            Microsoft.Office.Interop.Excel.Workbook    ObjWorkBook;
            Microsoft.Office.Interop.Excel.Worksheet   ObjWorkSheet;


            //Диалоговое окно выбора файла с фильтром
            OpenFileDialog openDialog = new OpenFileDialog();

            openDialog.Filter = "Файл Excel|*.XLSX;*.XLS";
            openDialog.ShowDialog();
            try
            {
                //Приложение самого Excel
                ObjExcel = new Microsoft.Office.Interop.Excel.Application();
                //Книга.
                ObjWorkBook = ObjExcel.Workbooks.Open(openDialog.FileName);
                //Таблица.
                ObjWorkSheet = ObjExcel.ActiveSheet as Microsoft.Office.Interop.Excel.Worksheet;
                //Ячейка
                //Microsoft.Office.Interop.Excel.Range rg = null;
                bool flag = true; //флаг на добавление строчек row в стринггрид только один раз много штучек)
                //Int32 row = 1;
                dataGridView1.Rows.Clear();



                List <double> arr = new List <double>();

                var lastCell = ObjWorkSheet.Cells.SpecialCells(XlCellType.xlCellTypeLastCell); //1 ячейку
                string[,] list = new string[lastCell.Column, lastCell.Row];                    // все данные.
                // массив значений с листа равен по размеру листу

                countObj    = lastCell.Column;
                countAttrib = lastCell.Row;

                for (int i = 0; i < lastCell.Column; i++) // цикл по всем колонкам
                {
                    dataGridView1.Columns.Add(i.ToString(), ObjWorkSheet.Cells[1, i + 1].Text.ToString());
                    dataGridView1.Columns[i].Name = ObjWorkSheet.Cells[1, i + 1].Text.ToString();   //&&&&&&&??????


                    if (flag) //создаю строки.
                    {
                        dataGridView1.Rows.Add(lastCell.Row - 1);
                        flag = false;
                    }


                    for (int j = 0; j < lastCell.Row; j++)                             // по всем строкам   /// 1
                    {
                        list[i, j] = ObjWorkSheet.Cells[j + 2, i + 1].Text.ToString(); //считываем текст в строку
                        dataGridView1.Rows[j].Cells[i].Value = list[i, j];             /// -1
                    }
                }

                for (int j = 0; j < countAttrib - 1; j++)
                {
                    ArrayList attribs = new ArrayList();
                    for (int i = 0; i < countObj; i++)
                    {
                        attribs.Add(double.Parse(list[i, j]));
                    }
                    allObjects.Add(new MyObject(attribs)); // здесь наши объекты.
                }


                ObjWorkBook.Close(false, Type.Missing, Type.Missing); //закрыть не сохраняя

                //Закрытие книгу Excel.


                //Закрытие приложения Excel.

                ObjExcel.Quit();

                //Обнуляем созданые объекты

                ObjWorkBook = null;

                ObjWorkSheet = null;

                ObjExcel = null;

                //Вызываем сборщик мусора для их уничтожения и освобождения памяти

                GC.Collect();

                MessageBox.Show("Файл успешно считан!", "Считывания excel файла");
            }
            catch (Exception ex) { MessageBox.Show("Ошибка: " + ex.Message, "Ошибка при считывании excel файла"); }
        }