当前位置: 首页>>代码示例>>C#>>正文


C# Microsoft.Office.Interop.Excel.Application.GetType方法代码示例

本文整理汇总了C#中Microsoft.Office.Interop.Excel.Application.GetType方法的典型用法代码示例。如果您正苦于以下问题:C# Microsoft.Office.Interop.Excel.Application.GetType方法的具体用法?C# Microsoft.Office.Interop.Excel.Application.GetType怎么用?C# Microsoft.Office.Interop.Excel.Application.GetType使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Microsoft.Office.Interop.Excel.Application的用法示例。


在下文中一共展示了Microsoft.Office.Interop.Excel.Application.GetType方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: btn_Otchet_Click


//.........这里部分代码省略.........
                ExelComm.ExecuteNonQuery();

                SqlDataAdapter new_dataAdapter = new SqlDataAdapter(ExelComm);
                new_dataAdapter.Fill(ds);
            }
            catch { }

            Microsoft.Office.Interop.Excel.Application ExcelApp = new Microsoft.Office.Interop.Excel.Application();
            // Создание книги по шаблону
            ExcelApp.Workbooks.Add(TemplatePath);
            // Получение ссылки на лист отчёта
            Microsoft.Office.Interop.Excel.Worksheet ReportWorksheet = (Microsoft.Office.Interop.Excel.Worksheet)ExcelApp.ActiveWorkbook.Worksheets[TemplateWorksheetName];
            // Поиск ячейки с которой должен начатся вывод данных
            CurrentRow = 4;
            CurrentColumn = 1;
            StartIsFind = false;
            StartRow = 1;
            StartColumn = 1;
            //ExcelApp.GetType().InvokeMember("Run", System.Reflection.BindingFlags.Default | System.Reflection.BindingFlags.InvokeMethod, null, ExcelApp, new object[] { }); 


            while (!StartIsFind && CurrentColumn <= MaxColumnsToFindStart)
            {
                // Поиск стартовой ячейки
                // Поиск в текущем столбце
                while (!StartIsFind && CurrentRow <= MaxRowsToFindStart)
                {
                    // Проверка текущей ячейки
                    if (ReportWorksheet.get_Range(CellName(CurrentRow, CurrentColumn), CellName(CurrentRow, CurrentColumn)).Text.ToString() == "#start")
                    {
                        StartIsFind = true;
                        StartRow = CurrentRow;
                        StartColumn = CurrentColumn;
                    }
                    // Переход к следующей ячейке
                    CurrentRow++;
                }
                // Переход к следующему столбцу
                CurrentColumn++;
                CurrentRow = 1;
            }

            // Вывод данных отчёта начиная со стартовой позиции
            if (StartIsFind)
            {
                // Вывод данных в шаблон
                // Переход к начальной позиции вывода данных
                CurrentRow = StartRow;
                // Вывод строк из таблицы
                // Добавление нужного количества строк
                for (CurrentRow = StartRow; CurrentRow < ds.Tables[0].Rows.Count + StartRow - 1; CurrentRow++)
                {
                    ReportWorksheet.get_Range(CellName(CurrentRow, clWeightDifference), CellName(CurrentRow, clWeightDifference)).EntireRow.Insert(xlDown, true);
                }

                object[,] ReportDataArray = new object[ds.Tables[0].Rows.Count, 20];

                for (DataRowNumber = 0; DataRowNumber < ds.Tables[0].Rows.Count; DataRowNumber++)
                {
                    for (DataColumnNumber = 0; DataColumnNumber < 14; DataColumnNumber++)
                    {
                        ReportDataArray[DataRowNumber, DataColumnNumber] = ds.Tables[0].Rows[DataRowNumber][DataColumnNumber];
                    }
                }
                ReportWorksheet.get_Range(CellName(StartRow, clShipmentNumber), CellName(ds.Tables[0].Rows.Count + StartRow - 1, clWeightDifference)).Value2 = ReportDataArray;
                ReportWorksheet.get_Range(CellName(3, 3), CellName(3, 3)).Value2 = dateTimePicker2.Value.Date.Day + "."+ 
                    dateTimePicker2.Value.Date.Month + "." + dateTimePicker2.Value.Date.Year + "  -  " + 
                    dateTimePicker1.Value.Date.Day + "." + dateTimePicker1.Value.Date.Month + "." + 
                    dateTimePicker1.Value.Date.Year;

                string Comm2 = "SELECT PFMname FROM Users WHERE Users.PFMcode = '" + _information[1].ToString() + "'";

                SqlCommand ExelComm2 = new SqlCommand(Comm2, _connection);
                /*ExelComm2.Parameters.Add("@pfm", SqlDbType.VarChar).Direction = ParameterDirection.Input;
                ExelComm2.Parameters["@pfm"].Value = _information[1];
                */
                DataSet ds2 = new DataSet();
                object PfmName = "";
                try
                {
                    if (_connection.State != System.Data.ConnectionState.Open)
                        _connection.Open();
                    PfmName = ExelComm2.ExecuteScalar();

                    SqlDataAdapter new_dataAdapter2 = new SqlDataAdapter(ExelComm2);
                    new_dataAdapter2.Fill(ds2);
                }
                catch { }
                //MessageBox.Show(PfmName.ToString());
                //object[,] ReportDataArray2 = new object[ds2.Tables[0].Rows.Count, 1];

                ReportWorksheet.get_Range(CellName(4, 3), CellName(4, 3)).Value2 = PfmName;
                ReportWorksheet.get_Range(CellName(ds.Tables[0].Rows.Count + StartRow + 1, 3), CellName(ds.Tables[0].Rows.Count + StartRow + 1, 3)).Value2 = tb_Nach_Podr.Text;
                ExcelApp.GetType().InvokeMember("Run", System.Reflection.BindingFlags.Default | System.Reflection.BindingFlags.InvokeMethod, null, ExcelApp, new object[] { "Format" }); 

                // Отображение отчёта на экране
                ExcelApp.Visible = true;
                this.Close();
            }
        }
开发者ID:SmokeVLG,项目名称:FormationOfSchedule,代码行数:101,代码来源:ReportDeclarationForm.cs


注:本文中的Microsoft.Office.Interop.Excel.Application.GetType方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。