Exemple #1
0
        private void button1_Click(object sender, EventArgs e)
        {
            {
                ObjExcel.Visible = true;

                Microsoft.Office.Interop.Excel.Workbook ObjWorkBook = ObjExcel.Workbooks.Open(NameExcel, 0, true, 5, "", "", false, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false);

                Microsoft.Office.Interop.Excel.Worksheet ObjWorkSheet;
                ObjWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)ObjWorkBook.Sheets[1];

                for (int i = 1; i < 23; i++)
                {
                    range = ObjWorkSheet.get_Range("A" + i.ToString()).Text.ToString();
                    if (range == "")
                    {
                        Telephons[i - 1, 0, 0] = 0;
                        Telephons[i - 1, 0, 1] = 1; // признак замены null на 0
                        // Telephons_flag[i - 1] = 1; // признак замены null на 0
                    }
                    else
                    {
                        Telephons[i - 1, 0, 1] = Convert.ToDouble(range);
                    }
                }
                Regression Regression1 = new Regression(Telephons);
                double []  Mean        = Regression1.Mean(Telephons, 100, 1, 2);
            }
        }
        public ExcelWriter(string fileName, List <Zillow> zillows)
        {
            Controls.DebugBox.WriteLine($"Приступаем к записи информации в {fileName}");
            Application ObjExcel = new Application();
            //Открываем книгу.
            Workbook ObjWorkBook = ObjExcel.Workbooks.Open(fileName, 0, false, 5, "", "", false, XlPlatform.xlWindows, "", true, false, 0, true, false, false);
            //Выбираем таблицу(лист).
            Worksheet ObjWorkSheet;

            ObjWorkSheet = (Worksheet)ObjWorkBook.Sheets[1];

            // Указываем номер столбца (таблицы Excel) из которого будут считываться данные.
            for (int i = 2; i < zillows.Count + 2; i++)
            {
                ObjWorkSheet.Cells[i, 12] = zillows[i - 2].Zestimate;
                ObjWorkSheet.Cells[i, 13] = zillows[i - 2].Status;
                ObjWorkSheet.Cells[i, 14] = zillows[i - 2].SoldPrice;
                ObjWorkSheet.Cells[i, 15] = zillows[i - 2].URL;
            }

            ObjWorkSheet.SaveAs(fileName);
            ObjExcel.Visible = true;
            // Выходим из программы Excel.
            //ObjWorkBook.Close(true);
            //ObjExcel.Quit();
            //System.Runtime.InteropServices.Marshal.ReleaseComObject(ObjWorkBook);
            //ObjExcel = null;
            //ObjWorkBook = null;
            //ObjWorkSheet = null;
            //System.GC.Collect();
        }
Exemple #3
0
        private void button1_Click(object sender, EventArgs e)
        {
            //Открываем файл Экселя
            if (openFileDialog1.ShowDialog() == DialogResult.OK)
            {
                //Создаём приложение.
                Microsoft.Office.Interop.Excel.Application ObjExcel = new Microsoft.Office.Interop.Excel.Application();
                //Открываем книгу.
                Microsoft.Office.Interop.Excel.Workbook ObjWorkBook = ObjExcel.Workbooks.Open(openFileDialog1.FileName, 0, false, 5, "", "", false, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false);
                //Выбираем таблицу(лист).
                Microsoft.Office.Interop.Excel.Worksheet ObjWorkSheet;
                ObjWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)ObjWorkBook.Sheets[1];

                //Очищаем от старого текста окно вывода.
                richTextBox1.Clear();

                //Выбираем первые сто записей из столбца.
                for (int i = 1; i < 101; i++)
                {
                    //Выбираем область таблицы. (в нашем случае просто ячейку)
                    Microsoft.Office.Interop.Excel.Range range = ObjWorkSheet.get_Range(textBox1.Text + i.ToString(), textBox1.Text + i.ToString());
                    //Добавляем полученный из ячейки текст.
                    richTextBox1.Text = richTextBox1.Text + range.Text.ToString() + "\n";
                    Application.DoEvents();
                }

                //Удаляем приложение (выходим из экселя) - ато будет висеть в процессах!
                ObjExcel.Quit();
            }
        }
Exemple #4
0
        //кнопка загрузить excel файл
        private void btnLoad_Click(object sender, EventArgs e)
        {
            if (openExcel.ShowDialog() == DialogResult.OK)
            {
                //Создаём приложение.
                Microsoft.Office.Interop.Excel.Application ObjExcel = new Microsoft.Office.Interop.Excel.Application();
                //Открываем книгу.
                Microsoft.Office.Interop.Excel.Workbook ObjWorkBook = ObjExcel.Workbooks.Open(openExcel.FileName, 0, false, 5, "", "", false, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false);
                //Выбираем таблицу(лист).
                Microsoft.Office.Interop.Excel.Worksheet ObjWorkSheet;
                ObjWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)ObjWorkBook.Sheets[1];
                //Очищаем от старого текста окно вывода.
                dataTrans.Rows.Clear();
                dataTrans.Columns.Clear();
                for (int i = 1; i < 3; i++)
                {
                    var colum = new DataGridViewColumn();

                    colum.CellTemplate = new DataGridViewTextBoxCell();
                    if (i == 1)
                    {
                        colum.HeaderText = "ID_поля";
                        colum.Width      = 50;
                        dataTrans.Columns.Add(colum);
                    }
                    else
                    {
                        colum.HeaderText = "Транзакты";
                        colum.Width      = 250;
                        dataTrans.Columns.Add(colum);
                    }
                }
                dataTrans.Rows.Add(7);
                for (int i = 1; i < 7; i++)
                {
                    string a = "A";
                    //Выбираем область таблицы. (в нашем случае просто ячейку)
                    Microsoft.Office.Interop.Excel.Range range = ObjWorkSheet.get_Range(a + i.ToString(), a + i.ToString());
                    // dataTrans.Rows[j].HeaderCell.Value = (i).ToString();
                    for (int j = 0; j < 2; j++)
                    {
                        if (j == 1)
                        {
                            string b = "B";
                            Microsoft.Office.Interop.Excel.Range range1 = ObjWorkSheet.get_Range(b + i.ToString(), b + i.ToString());
                            dataTrans[j, i - 1].Value = range1.Text;
                        }
                        else
                        {
                            dataTrans[j, i - 1].Value = range.Text;
                        }
                        Application.DoEvents();
                    }
                }
                //Удаляем приложение (выходим из экселя) - ато будет висеть в процессах!
                ObjExcel.Quit();
            }
        }
Exemple #5
0
        //public virtual void ExportToXls()
        //{
        //    string fileName = GetFileName(new XlsExportOptions() { ExportMode = XlsExportMode.SingleFilePageByPage });
        //    Export((file, options) => view.ExportToXls(file, options), fileName, new XlsExportOptionsEx() { ExportMode = XlsExportMode.SingleFilePageByPage });
        //}
        //public virtual void ExportToCsv()
        //{
        //    string fileName = GetFileName(new CsvExportOptions() );
        //    Export((file, options) => view.ExportToCsv(file, options), fileName, new CsvExportOptionsEx());
        //}

        private void UnionExcel <T>(string fileName, T options, int count) where T : ExportOptionsBase
        {
            if (string.IsNullOrEmpty(fileName))
            {
                return;
            }
            DXSplashScreen.Show <ExportWaitIndicator>();
            SubscribeProgressEvents <T>(options);
            try
            {
                Excel.Application ObjExcel = new Excel.Application();
                Excel.Worksheet   ObjWorkSheet;
                Excel.Workbook    ObjWorkBookTemp;
                Excel.Workbook    ObjWorkBook = ObjExcel.Workbooks.Open(fileName + "temp" + 0, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing); //ObjExcel.Workbooks.Add();// (fileName, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
                for (int i = 1; i < count; i++)
                {
                    ObjWorkBookTemp = ObjExcel.Workbooks.Open(fileName + "temp" + (i), Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
                    ObjWorkSheet    = (Microsoft.Office.Interop.Excel.Worksheet)ObjWorkBookTemp.Sheets[1];
                    ObjWorkSheet.Copy(Type.Missing, ObjWorkBook.Sheets[i]);
                    ObjWorkBookTemp.Close(Microsoft.Office.Interop.Excel.XlSaveAction.xlSaveChanges, Type.Missing, Type.Missing);
                    System.IO.File.Delete(fileName + "temp" + (i));
                }
                try
                {
                    ObjWorkBook.SaveAs(fileName, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Excel.XlSaveAsAccessMode.xlNoChange, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
                }
                catch
                {
                    MessageBox.Show("Произошла ошибка во время сохранения файла");
                }
                ObjWorkBook.Close(Microsoft.Office.Interop.Excel.XlSaveAction.xlSaveChanges, Type.Missing, Type.Missing);

                System.IO.File.Delete(fileName + "temp" + 0);
                ObjExcel.Quit();
            }
            finally
            {
                UnsubscribeProgressEvents <T>(options);
                if (DXSplashScreen.IsActive)
                {
                    DXSplashScreen.Close();
                }
            }
            if (ShouldOpenExportedFile())
            {
                ProcessLaunchHelper.StartProcess(fileName, false);
            }
        }
        internal static void Export(string fileName, XlsExportOptions xlsExportOptions)
        {
            XtraReport1  report = new XtraReport1();
            nwindDataSet ds     = new nwindDataSet();

            nwindDataSetTableAdapters.CategoriesTableAdapter cta = new WindowsApplication1.nwindDataSetTableAdapters.CategoriesTableAdapter();
            cta.Fill(ds.Categories);

            report.Category.Value = ds.Categories[0].CategoryID;
            report.PrintingSystem.ExportOptions.PrintPreview.ShowOptionsBeforeExport = false;
            report.CreateDocument();
            report.ExportToXls(fileName, xlsExportOptions);

            Excel.Application ObjExcel = new Excel.Application();
            Workbook          ObjWorkBookGeneral;
            Worksheet         ObjWorkSheet;
            Workbook          ObjWorkBookTemp = ObjExcel.Workbooks.Open(Environment.CurrentDirectory + "\\" + fileName, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);

            ObjWorkBookGeneral = ObjExcel.Workbooks.Open(Environment.CurrentDirectory + "\\" + fileName, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
            ((Worksheet)ObjWorkBookGeneral.Sheets[1]).Name = ds.Categories[0].Description.Length > 30 ? ds.Categories[0].Description.Substring(0, 30) : ds.Categories[0].Description;

            bool isObjWorkBookTempClosed = false;

            try {
                for (int i = 1; i < ds.Categories.Count; i++)
                {
                    report.Category.Value = ds.Categories[i].CategoryID;
                    report.CreateDocument();
                    report.ExportToXls("temp_" + fileName + ".xls");
                    ObjWorkBookTemp         = ObjExcel.Workbooks.Open(Environment.CurrentDirectory + "\\temp_" + fileName + ".xls", Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);
                    isObjWorkBookTempClosed = false;
                    ObjWorkSheet            = (Microsoft.Office.Interop.Excel.Worksheet)ObjWorkBookTemp.Sheets[1];
                    ObjWorkSheet.Name       = ds.Categories[i].Description.Length > 30 ? ds.Categories[i].Description.Substring(0, 30) : ds.Categories[i].Description;
                    ObjWorkSheet.Copy(Type.Missing, ObjWorkBookGeneral.Sheets[ObjWorkBookGeneral.Sheets.Count]);
                    ObjWorkBookTemp.Close(Microsoft.Office.Interop.Excel.XlSaveAction.xlSaveChanges, Type.Missing, Type.Missing);
                    isObjWorkBookTempClosed = true;
                }
            } finally {
                if (!isObjWorkBookTempClosed)
                {
                    ObjWorkBookTemp.Close(Microsoft.Office.Interop.Excel.XlSaveAction.xlSaveChanges, Type.Missing, Type.Missing);
                }
                ObjWorkBookGeneral.Close(Microsoft.Office.Interop.Excel.XlSaveAction.xlSaveChanges, Type.Missing, Type.Missing);
                ObjExcel.Quit();
                File.Delete(Environment.CurrentDirectory + "\\temp_" + fileName + ".xls");
            }
        }
        public void Parcer(OptionsParcerDataTable options)
        {
            timeSeries_.ClearTimeSeries();

            Microsoft.Office.Interop.Excel.Application ObjExcel    = new Microsoft.Office.Interop.Excel.Application();
            Microsoft.Office.Interop.Excel.Workbook    ObjWorkbook = ObjExcel.Workbooks.Open(FileName, 0, false, 5, "", "", false, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false);;
            Microsoft.Office.Interop.Excel.Worksheet   ObjWorkSheet;
            ObjWorkSheet = ObjWorkbook.Sheets[options.Get_number_list()];

            for (int i = options.number_line_start_information; i <= options.number_line_end_information; i++)
            {
                Microsoft.Office.Interop.Excel.Range range_time  = ObjWorkSheet.get_Range(options.Get_name_column_time() + i.ToString(), options.Get_name_column_time() + i.ToString());
                Microsoft.Office.Interop.Excel.Range range_value = ObjWorkSheet.get_Range(options.Get_name_column_value() + i.ToString(), options.Get_name_column_value() + i.ToString());

                if (range_time.Text.ToString() == "" || range_value.Text.ToString() == "")
                {
                    //обнаружена пустая клетка
                    ObjExcel.Quit();
                    WindowError windowError = new WindowError("В файле присутствуют пустые поля");
                    windowError.Show();
                    return;
                }

                timeSeries_.Set_flag_sequence(options.flag_simplified_date);
                if (options.flag_simplified_date == true)
                {
                    timeSeries_.AddDimensionTime(new DateTime(int.Parse(range_time.Text), 1, 1), Double.Parse(range_value.Text));
                }
                else
                {
                    timeSeries_.AddDimensionTime(DateTime.Parse(range_time.Text), Double.Parse(range_value.Text));
                }
            }
            ObjExcel.Quit();
            timeSeries_.Sort();

            timeSeries_.SetColor(options.Get_color());
            timeSeries_.SetNameTimeSeries(options.Get_name());

            timeSeries_.CalculateAvg();
            timeSeries_.CalculateMax();
            timeSeries_.CalculateMin();
            timeSeries_.CalculateAvgSquareDeviation();

            ResultParcer = true;
        }
Exemple #8
0
        public List <string> GetContent(string filePath)
        {
            string        buffer;
            List <string> list = new List <string>();


            Microsoft.Office.Interop.Excel.Application ObjExcel = new Microsoft.Office.Interop.Excel.Application();
            System.Diagnostics.Process excelProc = System.Diagnostics.Process.GetProcessesByName("EXCEL").Last();
            Microsoft.Office.Interop.Excel.Workbook ObjWorkBook = ObjExcel.Workbooks.Open
                                                                      (filePath, 0, true, 5, "", "", false, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false);
            Microsoft.Office.Interop.Excel.Worksheet ObjWorkSheet;
            ObjWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)ObjWorkBook.Sheets[1];

            for (int i = 1; i < 20; i++)
            {
                Microsoft.Office.Interop.Excel.Range range = ObjWorkSheet.get_Range("A" + i.ToString(), "A" + i.ToString());
                buffer = range.Text.ToString();

                if (Regex.IsMatch(buffer, "^$"))
                {
                    continue;
                }
                list.Add(buffer);
            }

            ObjWorkBook.Close();
            ObjExcel.Quit();
            excelProc.Kill();
            System.Runtime.InteropServices.Marshal.ReleaseComObject(ObjExcel);
            ObjWorkBook  = null;
            ObjExcel     = null;
            ObjWorkSheet = null;
            GC.Collect();

            return(list);
        }
Exemple #9
0
        private void button1_Click(object sender, EventArgs e)
        {
            //Проверяем наличие файла
            // if (File.Exists(dir+"\\report-4.xls"))
            if (File.Exists(dir))
            {
                //Создаём приложение.
                Microsoft.Office.Interop.Excel.Application ObjExcel = new Microsoft.Office.Interop.Excel.Application();
                //Открываем книгу.
                Microsoft.Office.Interop.Excel.Workbook ObjWorkBook = ObjExcel.Workbooks.Open(dir, 0, false, 5, "", "", false, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false);
                //Выбираем таблицу(лист).
                Microsoft.Office.Interop.Excel.Worksheet ObjWorkSheet;
                ObjWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)ObjWorkBook.Sheets[1];
                //Очищаем поля
                // textBox1.Clear();

                {
                    //Ищем данные в столбце "С"
                    Microsoft.Office.Interop.Excel.Range range = ObjWorkSheet.get_Range("AA:AA").Find(textBox1.Text);

                    //Добавляем текст из нужных ячеек.
                    textBox2.Text  = ObjWorkSheet.get_Range("DP" + range.Row.ToString()).Value2;
                    textBox3.Text  = ObjWorkSheet.get_Range("DQ" + range.Row.ToString()).Value2;
                    textBox4.Text  = ObjWorkSheet.get_Range("DR" + range.Row.ToString()).Value2;
                    textBox5.Text  = ObjWorkSheet.get_Range("BO" + range.Row.ToString()).Value2;
                    textBox6.Text  = ObjWorkSheet.get_Range("CU" + range.Row.ToString()).Value2;
                    textBox7.Text  = ObjWorkSheet.get_Range("DU" + range.Row.ToString()).Value2;
                    textBox8.Text  = ObjWorkSheet.get_Range("DO" + range.Row.ToString()).Value2;
                    textBox10.Text = ObjWorkSheet.get_Range("AI" + range.Row.ToString()).Value2;
                    //это чтобы форма прорисовывалась (не подвисала)...
                    System.Windows.Forms.Application.DoEvents();
                }

                //Удаляем приложение (выходим из экселя) - ато будет висеть в процессах!
                ObjWorkBook.Close();
                ObjExcel.Quit();

                /*int i = 1;
                 * int k = 0;
                 * string stolb;
                 * excelapp = new Excel.Application();
                 * excelapp.Visible = false;
                 * excelappworkbooks = excelapp.Workbooks;
                 * excelappworkbook = excelapp.Workbooks.Open(Application.StartupPath + @"\template\2.xls",
                 *        Type.Missing, true, Type.Missing,
                 * "WWWWW", "WWWWW", Type.Missing, Type.Missing, Type.Missing,
                 * Type.Missing, Type.Missing, Type.Missing, Type.Missing,
                 * Type.Missing, Type.Missing);
                 * excelsheets = excelappworkbook.Worksheets;
                 * excelworksheet = (Excel.Worksheet)excelsheets.get_Item(1);
                 * excelcells = excelworksheet.Cells.Find("q", Missing.Value, Missing.Value, Excel.XlLookAt.xlPart, Missing.Value,
                 * Excel.XlSearchDirection.xlNext,
                 * Missing.Value, Missing.Value, Missing.Value);
                 *
                 * stolb = Convert.ToString(excelcells.Column);
                 * strok = Convert.ToString(excelcells.Rows.Row);
                 * System.Windows.Forms.MessageBox.Show(getAdres(Convert.ToInt32(poisk), (Convert.ToInt32(stolb)) - 1));
                 * excelapp.Quit();*/
            }
            else
            {
                MessageBox.Show(
                    "Файл не выбран или отсутсвует в каталоге", "Ошибка"
                    );
            }
        }
Exemple #10
0
        private void Open_excel_Click(object sender, EventArgs e) // Открытие книги excel
        {
            string str;
            bool   matches = false; // Индикатор совпадений (что бы не грузить одно и то же)

            foreach (C_measurement t_e in _Tables_excels)
            {
                t_e.get(out str);
                matches = matches || (str == textBox1.Text);
            }
            if (matches)
            {
                MessageBox.Show(textBox1.Text + " был загружен ранее", "Ошибка загрузки");
            }
            else
            {
                try
                {
                    _table_excel = new C_measurement();
                    _table_excel.Add_(textBox1.Text);
                    //Создаём приложение.
                    Microsoft.Office.Interop.Excel.Application ObjExcel = new Microsoft.Office.Interop.Excel.Application();
                    //Открываем книгу.
                    Microsoft.Office.Interop.Excel.Workbook ObjWorkBook = ObjExcel.Workbooks.Open(
                        textBox1.Text,
                        0,
                        false,
                        5,
                        "",
                        "",
                        false,
                        Microsoft.Office.Interop.Excel.XlPlatform.xlWindows,
                        "",
                        true,
                        false,
                        0,
                        true,
                        false,
                        false);
                    //Выбираем таблицу(лист).
                    Microsoft.Office.Interop.Excel.Worksheet ObjWorkSheet;
                    ObjWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)ObjWorkBook.Sheets[1];
                    //читаем
                    Microsoft.Office.Interop.Excel.Range range;
                    for (int i = 2; (range = ObjWorkSheet.get_Range("A" + i.ToString())).Text != ""; i++) // Самое тормознутое место программы
                    {
                        textBox2.Text = "строка " + i.ToString();
                        _table_excel.Add_((double.Parse(range.Text)));
                    }
                    _table_excel.Add_(_background);

                    _table_excel._put_key((uint)(2 + _spektrs.Keys.Where(Key => Key != (0 & 1)).Count())); // Сохранения ключа для спектров
                    _spektrs.Add(_table_excel._get_key(), new C_spekrt());                                 // Добавленире позиции под спектры в словарь для доступа по ключу

                    //Сохраняем результат
                    _Tables_excels.Add(_table_excel);
                    textBox2.Text = "Загрузка завершена";
                    ObjExcel.Quit();

                    textBox3.Text   = _Tables_excels.Count.ToString();
                    button2.Visible = true;
                    if (!_background) // Если грузилась реакция
                    {
                        Result form = new Result(_Tables_excels, _background);
                        form.MdiParent = this.MdiParent;
                        form.Show();
                        Close();
                    }
                    else
                    {
                        int i;
                        _spektrs[_Tables_excels[(i = _Tables_excels.Count() - 1)]._get_key()].fft_of_alglib(_Tables_excels[i].get());
                    }
                }
                catch (System.Runtime.InteropServices.COMException e1)
                {
                    MessageBox.Show(e1.ToString(), "Ошибка загрузки");
                }
            }
Exemple #11
0
        private void writeToExcel(double[,] arrayExc, int k, int m, int[] age, string name)
        {
            Microsoft.Office.Interop.Excel.Application ObjWorkExcel =
                new Microsoft.Office.Interop.Excel.Application(); //открыть эксель
            ObjWorkExcel.Visible = false;

            string exeDir = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);

            exeDir += @"\базы" + name;
            Microsoft.Office.Interop.Excel.Workbook ObjWorkBook =
                ObjWorkExcel.Workbooks.Open(exeDir,
                                            Type.Missing, false, Type.Missing, Type.Missing, Type.Missing,
                                            Type.Missing, Type.Missing, Type.Missing, true, Type.Missing,
                                            Type.Missing, Type.Missing, Type.Missing, Type.Missing); //открыть файл

            Worksheet ObjWorkSheet;
            int       R = 0;

            for (int q = 0; q < age.Length; q++)
            {
                if (comboBox1.SelectedItem.ToString() == "мужской")
                {
                    age[q] = age[q] + 20;
                }
                if (age[q] > 40 || age[q] > 20 && comboBox1.SelectedItem.ToString() == "женский")
                {
                    age[q]       = age[q] - 20;
                    ObjWorkSheet = (Worksheet)ObjWorkBook.Sheets[age[q]];
                }
                else
                {
                    ObjWorkSheet = (Worksheet)ObjWorkBook.Sheets[age[q] + 2]; //получить нужный лист
                }
                var lastCell = ObjWorkSheet.Cells.SpecialCells(XlCellType.xlCellTypeLastCell, Type.Missing);
                //записываем из textBox1 в Excel
                if (lastCell.Row == 1)
                {
                    R = 1;
                }
                else
                {
                    R = lastCell.Row + 1;
                }

                double[] outputExc = new double[2];
                for (int i = 1; i < 3; i++)
                {
                    outputExc[i - 1] = arrayExc[q, i];
                }

                R = lastCell.Row;
                Range c1 = (Range)ObjWorkSheet.Cells[R, 1];
                Range c2 = (Range)ObjWorkSheet.Cells[R + 1, 2]; //2 поменять на 3, если не так отображается
                Range r  = ObjWorkSheet.get_Range(c1, c2);
                r.Value2 = outputExc;

                //проверка на дубликаты
                //r = ObjWorkSheet.UsedRange;
                //var primaArr = (object[,])r.Value;
                //values = (System.Array)xlRange.Cells.Value;
                //duplicatesElimination(values, outputExc);
                //MessageBox.Show(Compare(values, outputExc) + "");
            }

            ObjWorkBook.Close(true, Type.Missing, Type.Missing);
            //ObjWorkBook.Close(true, exeDir, Type.Missing);
            ObjWorkExcel.Quit();
            GC.Collect();
            //GC.WaitForPendingFinalizers();
            //Marshal.ReleaseComObject(ObjWorkExcel);
        }
Exemple #12
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;
        }
Exemple #13
0
        private static void FindDoc(string v, List <string> vs)
        {
            string sysType = null;

            using (kipEntities context = new kipEntities())
            {
                var type = context.EquipmentTypeSet.Where(x => x.name == v).SingleOrDefault();
                if (type != null)
                {
                    sysType = type.SystemType.name;
                }
                else
                {
                    throw new Exception("В базе не найден тип оборудования, совпадающий с переданным от мобильного устройства");
                }
            };

            string[] dirs = Directory.GetFiles(Directory.GetCurrentDirectory() + @"\defectiveList\", sysType + "*");
            if (dirs.Count() == 0)
            {
                throw new Exception("Не найден файл дефектных ведомостей " + Directory.GetCurrentDirectory() + @"\defectiveList\" + sysType);
            }
            string      NameExcel = dirs.Last();
            Application ObjExcel  = new Application();

            ObjExcel.Visible     = true;
            ObjExcel.WindowState = XlWindowState.xlMaximized;
            //Открываем книгу.
            Workbook ObjWorkBook = ObjExcel.Workbooks.Open(NameExcel, 0, true, 5, "", "", false, XlPlatform.xlWindows, "", true, false, 0, true, false, false);
            //Выбираем таблицу(лист).
            Worksheet ObjWorkSheet;

            foreach (Worksheet sheet in ObjWorkBook.Sheets)
            {
                if (sheet.Name == v)
                {
                    ObjWorkSheet = sheet;
                    ObjWorkSheet.Activate();
                    Range range = ObjWorkSheet.get_Range("B7", "D7");

                    string value = null;
                    foreach (var str in vs)
                    {
                        value += v + " №" + str + "\n";
                    }
                    value           = value.TrimEnd('\n');
                    range.RowHeight = 17 * vs.Count;
                    range.Value     = value;

                    range       = ObjWorkSheet.get_Range("F7", "G7");
                    range.Value = DateTime.Today.ToString("dd.MM.yy");

                    Range currentFind = null;
                    Range Fruits      = ObjWorkSheet.get_Range("A1", "G50");
                    // You should specify all these parameters every time you call this method,
                    // since they can be overridden in the user interface.

                    currentFind = Fruits.Find("Количество", Type.Missing,
                                              XlFindLookIn.xlValues, XlLookAt.xlPart,
                                              XlSearchOrder.xlByRows, XlSearchDirection.xlNext, false,
                                              Type.Missing, Type.Missing);

                    string address = currentFind.Address;
                    address     = address.Replace('B', 'C');
                    range       = ObjWorkSheet.get_Range(address);
                    range.Value = vs.Count;

                    currentFind = Fruits.Find("Исполнитель", Type.Missing,
                                              XlFindLookIn.xlValues, XlLookAt.xlPart,
                                              XlSearchOrder.xlByRows, XlSearchDirection.xlNext, false,
                                              Type.Missing, Type.Missing);

                    address     = currentFind.Address;
                    address     = address.Replace('A', 'C');
                    range       = ObjWorkSheet.get_Range(address);
                    range.Value = MainForm.worker.Family + " " + MainForm.worker.Name.Substring(0, 1) + "." + MainForm.worker.Patronymic.Substring(0, 1) + ".";
                }
            }
        }
Exemple #14
0
        private void writeToExcel(double[,] arrayExc, int k, int m, int[] age, string name)
        {
            Microsoft.Office.Interop.Excel.Application ObjWorkExcel =
                new Microsoft.Office.Interop.Excel.Application(); //открыть эксель
            ObjWorkExcel.Visible = false;

            string exeDir = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);

            exeDir += @"\базы" + name;
            Microsoft.Office.Interop.Excel.Workbook ObjWorkBook =
                ObjWorkExcel.Workbooks.Open(exeDir,
                                            Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
                                            Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing,
                                            Type.Missing, Type.Missing, Type.Missing, Type.Missing); //открыть файл

            Worksheet ObjWorkSheet;
            int       R = 0;

            for (int q = 0; q < age.Length; q++)
            {
                if (comboBox1.SelectedItem.ToString() == "мужской")
                {
                    age[q] = age[q] + 20;
                }
                if (age[q] > 40 || age[q] > 20 && comboBox1.SelectedItem.ToString() == "женский")
                {
                    age[q]       = age[q] - 20;
                    ObjWorkSheet = (Worksheet)ObjWorkBook.Sheets[age[q]];
                }
                else
                {
                    ObjWorkSheet = (Worksheet)ObjWorkBook.Sheets[age[q] + 2]; //получить нужный лист
                }
                //try
                //{
                var lastCell = ObjWorkSheet.Cells.SpecialCells(XlCellType.xlCellTypeLastCell, Type.Missing);    //1 ячейку
                //}
                //catch (System.Runtime.InteropServices.COMException)
                //{
                //    lastCell = ObjWorkSheet.Cells.Find(
                //"*",
                //System.Reflection.Missing.Value,
                //XlFindLookIn.xlValues,
                //XlLookAt.xlWhole,
                //XlSearchOrder.xlByRows,
                //XlSearchDirection.xlPrevious,
                //false,
                //System.Reflection.Missing.Value,
                //System.Reflection.Missing.Value).Row;
                //}


                //записываем из textBox1 в Excel
                if (lastCell.Row == 1)
                {
                    R = 1;
                }
                else
                {
                    R = lastCell.Row + 1;
                }

                double[] outputExc = new double[2];
                for (int i = 1; i < 3; i++)
                {
                    outputExc[i - 1] = arrayExc[q, i];
                }

                R = lastCell.Row;
                Range c1 = (Range)ObjWorkSheet.Cells[R, 1];
                Range c2 = (Range)ObjWorkSheet.Cells[R + 1, 2]; //2 поменять на 3, если не так отображается
                Range r  = ObjWorkSheet.get_Range(c1, c2);
                r.Value2 = outputExc;
            }

            ObjWorkBook.Close(true, Type.Missing, Type.Missing); //закрыть с сохранением
            ObjWorkExcel.Quit();                                 // выйти из экселя
            GC.Collect();                                        // убрать за собой
        }
Exemple #15
0
        private void Button_Click_2(object sender, RoutedEventArgs e)
        {
            if (Readed)
            {
                Excel.Application ObjExcel = new Excel.Application();
                //Открываем книгу.
                Excel.Workbook ObjWorkBook = ObjExcel.Workbooks.Open(filename, 0, true, 5, "", "", false, Excel.XlPlatform.xlWindows, "", true, false, 0, true, false, false);
                //Выбираем таблицу(лист).
                Excel.Worksheet ObjWorkSheet;
                ObjWorkSheet = (Excel.Worksheet)ObjWorkBook.Sheets[1];
                string info = "";
                //Выбираем первые сто записей из столбца.
                //Выбираем область таблицы. (в нашем случае просто ячейку)

                for (int i = 1; i < 501; i++)
                {
                    Organization a = new Organization();
                    //Thread myThreadA = new Thread(func =>
                    //{
                    Excel.Range rangeA = ObjWorkSheet.get_Range("A" + i.ToString(), "A" + i.ToString());
                    info      = rangeA.Text.ToString();
                    a.AccName = info;
                    Excel.Range range = ObjWorkSheet.get_Range("B" + i.ToString(), "B" + i.ToString());
                    info   = range.Text.ToString();
                    a.Name = info;
                    Excel.Range rangeC = ObjWorkSheet.get_Range("C" + i.ToString(), "C" + i.ToString());
                    info     = rangeC.Text.ToString();
                    a.Adress = info;

                    //});

                    //Thread myThreadB = new Thread(func =>
                    //{
                    //  myThreadA.Start(); //запускаем поток
                    Excel.Range rangeD = ObjWorkSheet.get_Range("D" + i.ToString(), "D" + i.ToString());
                    info      = rangeD.Text.ToString();
                    a.GeoData = info;
                    Excel.Range rangeE = ObjWorkSheet.get_Range("E" + i.ToString(), "E" + i.ToString());
                    info       = rangeE.Text.ToString();
                    a.WorkTime = info;
                    Excel.Range rangeF = ObjWorkSheet.get_Range("F" + i.ToString(), "F" + i.ToString());
                    info    = rangeF.Text.ToString();
                    a.GosID = info;
                    Excel.Range rangeG = ObjWorkSheet.get_Range("G" + i.ToString(), "G" + i.ToString());
                    info  = rangeG.Text.ToString();
                    a.Inn = info;
                    //});

                    //myThreadB.Start(); //запускаем поток

                    //Thread myThreadС = new Thread(func =>
                    //{
                    Excel.Range rangeH = ObjWorkSheet.get_Range("H" + i.ToString(), "H" + i.ToString());
                    info        = rangeH.Text.ToString();
                    a.DateBegin = info;
                    Excel.Range rangeI = ObjWorkSheet.get_Range("I" + i.ToString(), "I" + i.ToString());
                    info        = rangeI.Text.ToString();
                    a.GosAccReq = info;
                    Excel.Range rangeJ = ObjWorkSheet.get_Range("J" + i.ToString(), "J" + i.ToString());
                    info         = rangeJ.Text.ToString();
                    a.DateExpire = info;
                    Excel.Range rangeK = ObjWorkSheet.get_Range("K" + i.ToString(), "K" + i.ToString());
                    info       = rangeK.Text.ToString();
                    a.EduSpecs = info;
                    //});

                    //myThreadС.Start(); //запускаем поток

                    Excel.Range rangeL = ObjWorkSheet.get_Range("L" + i.ToString(), "L" + i.ToString());
                    info     = rangeL.Text.ToString();
                    a.ReMake = info;
                    Excel.Range rangeM = ObjWorkSheet.get_Range("M" + i.ToString(), "M" + i.ToString());
                    info        = rangeM.Text.ToString();
                    a.StopStart = info;
                    Excel.Range rangeN = ObjWorkSheet.get_Range("N" + i.ToString(), "N" + i.ToString());
                    info       = rangeN.Text.ToString();
                    a.StopExec = info;
                    Excel.Range rangeO = ObjWorkSheet.get_Range("O" + i.ToString(), "O" + i.ToString());
                    info   = rangeO.Text.ToString();
                    a.Stop = info;

                    if (a.AccName == "")
                    {
                        break;
                    }

                    custdata.Add(a);
                }
                ObjExcel.Workbooks.Close();
                Readed = false;
            }
            DG1.ItemsSource = custdata;
        }
Exemple #16
0
        public void Export()
        {
            Dictionary <int, int> statistic = new Dictionary <int, int>();
            int xMin = -100, xMax = 100, nX = -20, yMin = 20, yMax = 200, nY = 40;

            for (var i = 1; i <= 15; i++)
            {
                //ThreadPool.SetMinThreads(i, i);
                int    xIter = (int)((xMax - xMin) / nX);
                int    yIter = (int)((yMax - yMin) / nY);
                double x, y, w, sum = 0;

                var stopwatch = new Stopwatch();
                stopwatch.Start();
                Parallel.For(0, xIter, k =>
                {
                    x = xMin + k * nX;
                    for (var j = 0; j <= yIter; j++)
                    {
                        if (k > 0 && k < xIter && j > 0 && j < yIter)
                        {
                            w = 1;
                        }
                        else if ((k == 0 || k == yIter) && (j == 0 || j == xIter))
                        {
                            w = 0.25;
                        }
                        else
                        {
                            w = 0.5;
                        }
                        y    = yMin + j * nY;
                        sum += w * Funcion(x, y);
                    }
                });
                stopwatch.Stop();
                statistic.Add(i, Convert.ToInt32(stopwatch.ElapsedTicks));
                stopwatch.Reset();
            }
            Application ObjExcel = new Application();
            Workbook    ObjWorkBook;
            Worksheet   ObjWorkSheet;

            ObjWorkBook  = ObjExcel.Workbooks.Add(System.Reflection.Missing.Value);
            ObjWorkSheet = (Worksheet)ObjWorkBook.Sheets[1];
            foreach (var singleResult in statistic)
            {
                ObjWorkSheet.Cells[1, singleResult.Key] = singleResult.Key;
                ObjWorkSheet.Cells[2, singleResult.Key] = singleResult.Value;
            }
            ObjExcel.Visible     = true;
            ObjExcel.UserControl = true;
            var excelcells = ObjWorkSheet.get_Range("A2", "O2");

            excelcells.Select();
            Chart excelchart = (Chart)ObjExcel.Charts.Add(Type.Missing, Type.Missing, Type.Missing, Type.Missing);

            excelchart.Activate();
            excelchart.Select(Type.Missing);
            ObjExcel.ActiveChart.HasTitle  = true;
            ObjExcel.ActiveChart.HasLegend = false;
            ObjExcel.ActiveChart.ChartTitle.Text
                = "Зависимость времени от количества потоков";

            ((Axis)ObjExcel.ActiveChart.Axes(XlAxisType.xlCategory,
                                             XlAxisGroup.xlPrimary)).HasTitle = true;
            ((Axis)ObjExcel.ActiveChart.Axes(XlAxisType.xlCategory,
                                             XlAxisGroup.xlPrimary)).AxisTitle.Text = "Количество ";
            ((Axis)ObjExcel.ActiveChart.Axes(XlAxisType.xlValue,
                                             XlAxisGroup.xlPrimary)).HasTitle = true;
            ((Axis)ObjExcel.ActiveChart.Axes(XlAxisType.xlValue,
                                             XlAxisGroup.xlPrimary)).AxisTitle.Text = "Время";

            ObjExcel.ActiveChart.Location(XlChartLocation.xlLocationAsObject, "Лист1");
            var excelsheets = ObjWorkBook.Worksheets;

            ObjWorkSheet = (Worksheet)excelsheets.get_Item(1);

            ObjWorkSheet.Shapes.Item(1).IncrementLeft(-201);
            ObjWorkSheet.Shapes.Item(1).IncrementTop((float)20.5);
            ObjWorkSheet.Shapes.Item(1).Height = 500;
            ObjWorkSheet.Shapes.Item(1).Width  = 500;
        }