Example #1
0
        //把Excel文档转换为Pdf文档

        #region
        private static void ExcelToPdf(string ExcelFileName, string PdfFileName)
        {
            //Object missing = System.Reflection.Missing.Value;
            //Object ReadOnly = (object)true;
            //ET.Application app = new ET.Application();
            //app.Visible = false;

            //ET.workbook doc = (ET.workbook)app.Workbooks.Open(ExcelFileName, missing, ReadOnly, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing);

            //doc.ExportPdf(PdfFileName, "", "");
            //doc.Close(missing, missing, missing);
            //app.Quit();
            //System.Runtime.InteropServices.Marshal.ReleaseComObject(app);
            //app = null;


            Object missing  = System.Reflection.Missing.Value;
            Object ReadOnly = (object)true;

            Excel.Application app = new Excel.Application();
            app.Visible = false;

            Excel.Workbook doc = (Excel.Workbook)app.Workbooks.Open(ExcelFileName, missing, ReadOnly, missing, missing, missing, missing, missing, missing, missing, missing, missing, missing);

            doc.ExportAsFixedFormat(Excel.XlFixedFormatType.xlTypePDF, PdfFileName);
            doc.Close(missing, missing, missing);
            app.Quit();
            System.Runtime.InteropServices.Marshal.ReleaseComObject(app);
            app = null;
        }
Example #2
0
        // 启动Excel 程序
        public bool StartupApp(bool visible)
        {
            // 检查是否有Excel正在运行
            bool flag = false;
            foreach (var item in Process.GetProcesses())
            {
                if (item.ProcessName == "EXCEL")
                {
                    flag = true;
                    break;
                }
            }

            if (!flag)
            {
                ExcelApp = new Excel.Application();
            }
            else
            {
                object obj = Marshal.GetActiveObject("Excel.Application");  // 引用已在执行的Excel
                ExcelApp = obj as Excel.Application;
            }

            ExcelApp.Visible = visible;       // Excel程序不可见
            return true;
        }
Example #3
0
        public void ReadSample()
        {
            Excel.Application excelApp = new Excel.Application();
            if (excelApp != null)
            {
                Excel.Workbook  excelWorkbook  = excelApp.Workbooks.Open(@"C:\test.xls", 0, true, 5, "", "", true, Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
                Excel.Worksheet excelWorksheet = (Excel.Worksheet)excelWorkbook.Sheets[1];

                Excel.Range excelRange = excelWorksheet.UsedRange;
                int         rowCount   = excelRange.Rows.Count;
                int         colCount   = excelRange.Columns.Count;

                for (int i = 1; i <= rowCount; i++)
                {
                    for (int j = 1; j <= colCount; j++)
                    {
                        Excel.Range range     = (excelWorksheet.Cells[i, 1] as Excel.Range);
                        string      cellValue = range.Value.ToString();

                        //do anything
                    }
                }

                excelWorkbook.Close();
                excelApp.Quit();
            }
        }
        public static DataTable DataTableFromXlsx(string Path, string password = "")
        {
            Excel.Application objXL = null;
            Excel.Workbook    objWB = null;
            objXL = new Excel.Application();
            objWB = objXL.Workbooks.Open(Path);
            Excel.Worksheet objSHT = objWB.Worksheets[1];

            int       rows    = objSHT.UsedRange.Rows.Count;
            int       cols    = objSHT.UsedRange.Columns.Count;
            DataTable dt      = new DataTable();
            int       noofrow = 1;

            for (int c = 1; c <= cols; c++)
            {
                string colname = objSHT.Cells[1, c].Text;
                dt.Columns.Add(colname);
                noofrow = 2;
            }

            for (int r = noofrow; r <= rows; r++)
            {
                DataRow dr = dt.NewRow();
                for (int c = 1; c <= cols; c++)
                {
                    dr[c - 1] = objSHT.Cells[r, c].Text;
                }

                dt.Rows.Add(dr);
            }

            objWB.Close();
            objXL.Quit();
            return(dt);
        }
Example #5
0
 /// <summary>获取Excel实例</summary>
 static void GetExcelInstance()
 {
     if (ExApp == null)
     {
         ExApp = new Excel.Application();
     }
 }
Example #6
0
        // <summary>
        /// 退出报表时关闭Excel和清理垃圾Excel进程
        /// </summary>
        private void EndReport()
        {
            object missing = System.Reflection.Missing.Value;

            try
            {
                m_xlApp.Workbooks.Close();
                m_xlApp.Workbooks.Application.Quit();
                m_xlApp.Application.Quit();
                m_xlApp.Quit();
            }
            catch { }
            finally
            {
                try
                {
                    System.Runtime.InteropServices.Marshal.ReleaseComObject(m_xlApp.Workbooks);
                    System.Runtime.InteropServices.Marshal.ReleaseComObject(m_xlApp.Application);
                    System.Runtime.InteropServices.Marshal.ReleaseComObject(m_xlApp);
                    m_xlApp = null;
                }
                catch { }
                try
                {
                    //清理垃圾进程
                    this.killProcessThread();
                }
                catch { }
                GC.Collect();
            }
        }
Example #7
0
        /// <summary>
        /// 读取Excel文件
        /// </summary>
        /// <param name="pPath"></param>
        /// <returns></returns>

        private string GetExcelSheetName(string pPath)
        {
            //打开一个Excel应用

            _excelApp = new Excel.Application();
            if (_excelApp == null)
            {
                throw new Exception("打开Excel应用时发生错误!");
            }
            _books = _excelApp.Workbooks;
            //打开一个现有的工作薄
            _book   = _books.Add(pPath);
            _sheets = _book.Sheets;
            //选择第一个Sheet页
            _sheet = (Excel._Worksheet)_sheets.get_Item(1);
            string sheetName = _sheet.Name;

            ReleaseCOM(_sheet);
            ReleaseCOM(_sheets);
            ReleaseCOM(_book);
            ReleaseCOM(_books);
            _excelApp.Quit();
            ReleaseCOM(_excelApp);
            return(sheetName);
        }
        public void XtraGridTo(GridView grv, int DongBatDau, int CotBatDau)
        {
            try
            {
                oXL    = new Excel.Application();
                oWB    = (Excel._Workbook)(oXL.Workbooks.Add(Missing.Value));
                oSheet = (Excel._Worksheet)oWB.ActiveSheet;
                //oSheet.UsedRange.Cells.Borders.Value = 1;
                int SoCotGroup = 0;
                foreach (GridColumn grc in grv.Columns)
                {
                    if (grc.GroupIndex >= 0)
                    {
                        SoCotGroup++;
                    }
                }

                // Mở file Excel
                oXL.Visible = true;
            }
            catch (Exception ex)
            {
                oXL.Quit();
                throw ex;
            }
        }
Example #9
0
        private void button1_Click(object sender, EventArgs e)
        {
            Excel.Application xlApp = new Excel.Application();
            double            loanpayment;
            double            dblInterest;
            double            dblMonths;
            double            dblprincipal;

            dblprincipal = Convert.ToDouble(txtPrincipal.Text);
            dblMonths    = Convert.ToDouble(txtMonths.Text);
            dblInterest  = Convert.ToDouble(txtInterest.Text);
            loanpayment  = xlApp.WorksheetFunction.Pmt(dblInterest / 12, dblMonths, dblprincipal, 0, 0);
            MessageBox.Show("the monthly payment is: " + Convert.ToString(Math.Abs(loanpayment)), "Mortgage");

            /* begin test of PMT formula: */
            double myPayment;

            myPayment = Convert.ToDouble(dblprincipal) * -((dblInterest / 12) / (1 - Math.Pow((1 + (dblInterest / 12)), (-Convert.ToDouble(dblMonths)))));

            if (Math.Round(loanpayment, 5) == Math.Round(myPayment, 5))
            {
                Debug.WriteLine("Test passed: formula correct");
                MessageBox.Show("Test passed: formula correct");
            }
            else
            {
                Debug.WriteLine("Test failed: incorrect formula result");
                MessageBox.Show("Test failed: incorrect formula result");
            }
        }
    public void GenerateReport(IEnumerable <StudentDto> students)
    {
        Excel.Application app = new Excel.Application();
        app.DisplayAlerts = false;
        Excel.Workbook   book_template  = app.Workbooks.Open(@"шаблон_отчета.xlsx");
        Excel._Worksheet sheet_template = book_template.Sheets["отчет"];
        foreach (var ob in students)
        {
            //1. Создаем объкт LearnerReport из БД
            LearnerReport report = new LearnerReport
            {
                SNS         = $"{ob.surname} {ob.name} {ob.SecondName}",
                SchoolName  = ob.SchoolName,
                ClassName   = ob.ClassName,
                TestResult5 = ob.TestResult5
            };
            //2. Экспорт объкта LearnerReport в шаблон xlsx
            sheet_template.Range["C4"].Value2 = report.SNS;
            sheet_template.Range["C5"].Value2 = report.SchoolName;
            sheet_template.Range["C6"].Value2 = report.ClassName;
            sheet_template.Range["C9"].Value2 = report.TestResult5;
            //3. Сохраняем полученный файл в .pdf на рабочем столе
            string file_name = $@"{Environment.GetFolderPath(Environment.SpecialFolder.Desktop)}\{report.SNS}.pdf";
            sheet_template.ExportAsFixedFormat(Excel.XlFixedFormatType.xlTypePDF, file_name);
        }

        book_template.Close(0);
        book_template = null;
        app.Quit();
        app = null;
    }
Example #11
0
        static void DisplayInExcel(IEnumerable <dynamic> entities)
        {
            // Apparently, this namespace no longer exsists.

            var excelApp = new Excel.Application();

            excelApp.Visible = true;

            excelApp.Workbooks.Add();

            dynamic workSheet = excelApp.ActiveSheet;

            workSheet.Cells[1, "A"] = "Header A";
            workSheet.Cells[2, "B"] = "Header B";

            var row = 1;

            foreach (var entity in entities)
            {
                row++;
                workSheet.Cells[row, "A"] = entity.ColumnA;
                workSheet.Cells[row, "B"] = entity.ColumnB;
            }

            workSheet.Columns[1].AutoFit();
            workSheet.Columns[2].AutoFit();
        }
Example #12
0
        /// <summary>
        /// 读取Excel文件
        /// </summary>
        /// <param name="pPath"></param>
        /// <returns></returns>
      
        private string GetExcelSheetName(string pPath)
        {
            //打开一个Excel应用

            _excelApp = new Excel.Application();
            if (_excelApp == null)
            {
                throw new Exception("打开Excel应用时发生错误!");
            }
            _books = _excelApp.Workbooks;
            //打开一个现有的工作薄
            _book = _books.Add(pPath);
            _sheets = _book.Sheets;
            //选择第一个Sheet页
            _sheet  = (Excel._Worksheet)_sheets.get_Item(1);
            string sheetName = _sheet.Name;

            ReleaseCOM(_sheet);
            ReleaseCOM(_sheets);
            ReleaseCOM(_book);
            ReleaseCOM(_books);
            _excelApp.Quit();
            ReleaseCOM(_excelApp);
            return sheetName;
        }
Example #13
0
        private void btnFill_Click(object sender, EventArgs e)
        {
            Excel.Application xlApp;
            Excel.Workbook xlWorkBook;
            Excel.Worksheet xlWorkSheet;
            Excel.Range range;

            string str;
            int rCnt = 0;
            int cCnt = 0;

            xlApp = new Excel.Application();
            xlWorkBook = xlApp.Workbooks.Open("csharp.net-informations.xls", 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
            xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(1);

            range = xlWorkSheet.UsedRange;

            for (rCnt = 1; rCnt <= range.Rows.Count; rCnt++)
            {
                for (cCnt = 1; cCnt <= range.Columns.Count; cCnt++)
                {
                    str = (string)(range.Cells[rCnt, cCnt] as Excel.Range).Value2;
                    MessageBox.Show(str);
                }
            }

            xlWorkBook.Close(true, null, null);
            xlApp.Quit();

            releaseObject(xlWorkSheet);
            releaseObject(xlWorkBook);
            releaseObject(xlApp);
        }
Example #14
0
        }//AddSparePartsFromExcelFile

        //Сохранение в Excel файл.
        public static void SaveToExcelFile(IList <SparePart> spareParts)
        {
            Excel.Application ExcelApp = new Excel.Application();
            Excel.Workbook    ExcelWorkBook;
            Excel.Worksheet   ExcelWorkSheet;
            //Книга.
            ExcelWorkBook = ExcelApp.Workbooks.Add(System.Reflection.Missing.Value);
            //Таблица.
            ExcelWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)ExcelWorkBook.Worksheets.get_Item(1);

            for (int i = 0; i < spareParts.Count; ++i)
            {
                int j = 0;
                ExcelApp.Cells[i + 1, ++j] = spareParts[i].Photo;
                ExcelApp.Cells[i + 1, ++j] = spareParts[i].Articul;
                ExcelApp.Cells[i + 1, ++j] = spareParts[i].Title;
                ExcelApp.Cells[i + 1, ++j] = spareParts[i].Manufacturer;
                ExcelApp.Cells[i + 1, ++j] = spareParts[i].Unit;
                ExcelApp.Cells[i + 1, ++j] = spareParts[i].Count;
                ExcelApp.Cells[i + 1, ++j] = spareParts[i].Price;
                ExcelApp.Cells[i + 1, ++j] = spareParts[i].Markup;
            }//for
            //Вызываем нашу созданную эксельку.
            ExcelApp.Visible     = true;
            ExcelApp.UserControl = true;
        }//SaveToExcelFile
Example #15
0
		public void CreateStudentBaseSimpleTable()
		{
			KillProcess();	

			try
			{	
				m_objExcel = new Excel.Application();                 
				m_objBooks = (Excel.Workbooks)m_objExcel.Workbooks;				
				m_objBook = (Excel._Workbook)(m_objBooks.Open(               //打开该文件
					excelPath+@"\report\ImportBaseTableForStudent(simple).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));	                         

				m_objExcel.Visible = true;

			}
			catch(Exception e)
			{
				Util.WriteLog(e.Message,Util.EXCEPTION_LOG_TITLE);
			}
			finally
			{
				m_objSheet = null;
				m_objSheets = null;
				m_objBook = null;
				m_objBooks = null;
				m_objExcel = null;

				GC.Collect();
			}
		}
Example #16
0
        /// <summary>
        /// 将datagridview中的数据导出到excel中
        /// </summary>
        /// <param name="view">datagridview</param>
        public static void ToExel(DataGridView view)
        {
            if (view.Rows.Count == 0)
            {
                untCommon.InfoMsg("表格中没有数据,不能导出空表");
                return;
            }

            //建立Excel对象
            Excel.Application excel = new Excel.Application();
            excel.Application.Workbooks.Add(true);
            excel.Visible = true;
            //生成字段名称
            for (int i = 0; i < view.ColumnCount; i++)
            {
                excel.Cells[1, i + 1] = view.Columns[i].HeaderText;
            }
            //填充数据
            for (int row = 0; row <= view.RowCount - 1; row++)
            {
                for (int column = 0; column < view.ColumnCount; column++)
                {
                    if (view[column, row].ValueType == typeof(string))
                    {
                        excel.Cells[row + 2, column + 1] = "'" + view[column, row].Value.ToString();
                    }
                    else
                    {
                        excel.Cells[row + 2, column + 1] = view[column, row].Value.ToString();
                    }
                }
            }
        }
Example #17
0
        public void CreateStudentBaseSimpleTable()
        {
            KillProcess();

            try
            {
                m_objExcel = new Excel.Application();
                m_objBooks = (Excel.Workbooks)m_objExcel.Workbooks;
                m_objBook  = (Excel._Workbook)(m_objBooks.Open(                              //打开该文件
                                                   excelPath + @"\report\ImportBaseTableForStudent(simple).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));

                m_objExcel.Visible = true;
            }
            catch (Exception e)
            {
                Util.WriteLog(e.Message, Util.EXCEPTION_LOG_TITLE);
            }
            finally
            {
                m_objSheet  = null;
                m_objSheets = null;
                m_objBook   = null;
                m_objBooks  = null;
                m_objExcel  = null;

                GC.Collect();
            }
        }
Example #18
0
        ///// <summary>
        ///// 允许供应商编辑内容对策 2014-9-14 by hyf
        ///// </summary>
        //public void allowedit()
        //{
        //    Excel.AllowEditRanges ranges = m_objSheet.Protection.AllowEditRanges;
        //    ranges.Add("供应商可编辑对策区", m_objExcel.Application.get_Range("B29", "R46"), Type.Missing);
        //}

        /////////////////////////////////
        public bool KillAllExcelApp()
        {
            try
            {
                if (m_objExcel != null) // isRunning是判断xlApp是怎么启动的flag.
                {
                    m_objExcel.Quit();
                    System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objExcel);
                    //释放COM组件,其实就是将其引用计数减1
                    //System.Diagnostics.Process theProc;
                    foreach (System.Diagnostics.Process theProc in System.Diagnostics.Process.GetProcessesByName("EXCEL"))
                    {
                        //先关闭图形窗口。如果关闭失败...有的时候在状态里看不到图形窗口的excel了,
                        //但是在进程里仍然有EXCEL.EXE的进程存在,那么就需要杀掉它:p
                        if (theProc.CloseMainWindow() == false)
                        {
                            theProc.Kill();
                        }
                    }
                    m_objExcel = null;
                    return(true);
                }
            }
            catch
            {
                return(false);
            }
            return(true);
        }
Example #19
0
        private bool UnloadSingleValue(Excel.Application ExcelApp, int SheetIndex)
        {
            object missingValue = Type.Missing;
            string TempMessage  = "(Заполнение единичных тегов) ";

            for (int i = 0; i < dtSingleValue.Rows.Count; i++)
            {
                try
                {
                    if (((Excel.Worksheet)ExcelApp.ActiveWorkbook.Sheets[SheetIndex]).Cells.Find(dtSingleValue.Rows[i]["TagName"].ToString(), missingValue, Excel.XlFindLookIn.xlValues, missingValue, missingValue, Excel.XlSearchDirection.xlNext, true, missingValue, missingValue) == null)
                    {
                        WriteError(-1, TempMessage + "В листе - '" + ((Excel.Worksheet)ExcelApp.ActiveWorkbook.Sheets[SheetIndex]).Name + "' отсутствует информация о '" + dtSingleValue.Rows[i]["TagName"].ToString() + "'");
                        return(false);
                    }

                    ((Excel.Worksheet)ExcelApp.ActiveWorkbook.Sheets[SheetIndex]).Cells.Replace(dtSingleValue.Rows[i]["TagName"].ToString(), dtSingleValue.Rows[i]["TagValue"].ToString(), Excel.XlLookAt.xlPart, Excel.XlSearchOrder.xlByRows, true, false, false, false);
                }
                catch (Exception exc)
                {
                    WriteError(-2, TempMessage + exc.Message);
                    return(false);
                }
            }

            return(true);
        }
Example #20
0
        /// <summary>
        /// 导出数据表到Excel
        /// </summary>
        /// <param name="table">数据表</param>
        /// <param name="title">标题</param>
        /// <param name="info">相关信息</param>
        private void ExportToExcel(DataTable table, string title, string info)
        {
            if (table == null)
            {
                return;
            }

            Excel.Application myExcel = new Excel.Application();
            myExcel.Application.Workbooks.Add(true);

            //写入行头
            int sumRowCount = table.Rows.Count;
            int sumColCount = 0;

            for (int j = 0; j < table.Columns.Count; j++)
            {
                sumColCount += 1;
                myExcel.Cells[5, sumColCount] = table.Columns[j].ColumnName;
            }
            myExcel.get_Range(myExcel.Cells[5, 1], myExcel.Cells[5, sumColCount]).Font.Bold = true;
            myExcel.get_Range(myExcel.Cells[5, 1], myExcel.Cells[5, sumColCount]).Font.Size = 10;

            //逐行写入数据
            for (int i = 0; i < table.Rows.Count; i++)
            {
                int ncol = 0;
                for (int j = 0; j < table.Columns.Count; j++)
                {
                    ncol = ncol + 1;
                    myExcel.Cells[6 + i, ncol] = "'" + table.Rows[i][j].ToString().Trim();
                }
            }

            //设置报表表格为最适应宽度
            myExcel.get_Range(myExcel.Cells[6, 1], myExcel.Cells[5 + sumRowCount, sumColCount]).Select();
            myExcel.get_Range(myExcel.Cells[6, 1], myExcel.Cells[5 + sumRowCount, sumColCount]).Columns.AutoFit();

            //加边框
            myExcel.get_Range(myExcel.Cells[5, 1], myExcel.Cells[5 + sumRowCount, sumColCount]).Borders.LineStyle = 1;

            //报表名称
            myExcel.Cells[1, 1] = title;
            myExcel.get_Range(myExcel.Cells[1, 1], myExcel.Cells[1, sumColCount]).Font.Bold = true;
            myExcel.get_Range(myExcel.Cells[1, 1], myExcel.Cells[1, sumColCount]).Font.Size = 16;
            //报表名称跨行居中
            myExcel.get_Range(myExcel.Cells[1, 1], myExcel.Cells[1, sumColCount]).Select();
            myExcel.get_Range(myExcel.Cells[1, 1], myExcel.Cells[1, sumColCount]).HorizontalAlignment = Excel.XlHAlign.xlHAlignCenterAcrossSelection;

            //报表条件
            myExcel.Cells[3, 1] = info.Trim();
            myExcel.get_Range(myExcel.Cells[3, 1], myExcel.Cells[3, sumColCount]).Font.Size = 10;
            myExcel.get_Range(myExcel.Cells[3, 1], myExcel.Cells[3, sumColCount]).Select();
            myExcel.get_Range(myExcel.Cells[3, 1], myExcel.Cells[5, sumColCount]).HorizontalAlignment = Excel.XlHAlign.xlHAlignLeft;

            //最后一行为黄色
            myExcel.get_Range(myExcel.Cells[5 + sumRowCount, 1], myExcel.Cells[5 + sumRowCount, sumColCount]).Interior.ColorIndex = 19;

            //让Excel文件可见
            myExcel.Visible = true;
        }
Example #21
0
    Process GetId(Excel.Application excelApp)
    {
        int id;

        GetWindowThreadProcessId(excelApp.Hwnd, out id);
        return(Process.GetProcessById(id));
    }
Example #22
0
        public void ExportTeacherAllReports(string path, DateTime startDate, DateTime endDate)
        {
            string excelTempFilePath = AppDomain.CurrentDomain.BaseDirectory;

            Excel.Application         m_objExcel  = null;
            Excel.Workbooks           m_objBooks  = null;
            Excel._Workbook           m_objBook   = null;
            Excel.Sheets              m_objSheets = null;
            Excel._Worksheet          m_objSheet  = null;
            Excel.Range               m_objRange  = null;
            Excel.Font                m_objFont   = null;
            System.Reflection.Missing m_objOpt    = System.Reflection.Missing.Value;

            try
            {
                m_objExcel = new Excel.Application();
                m_objExcel.DisplayAlerts = false;
                m_objBooks = (Excel.Workbooks)m_objExcel.Workbooks;
                m_objBook  = (Excel._Workbook)m_objBooks.Open(excelTempFilePath + @"report\TeacherDutyAll.xls",
                                                              m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt,
                                                              m_objOpt, m_objOpt, m_objOpt);

                ExportAllNormal(startDate, endDate, m_objBook, m_objSheets, m_objSheet, m_objRange, m_objFont, m_objOpt);
                ExportStat(startDate, endDate, m_objBook, m_objSheets, m_objSheet, m_objRange, m_objFont, m_objOpt);
                ExportSingleStat(startDate, endDate, m_objBook, m_objSheets, m_objSheet, m_objRange, m_objFont, m_objOpt);
                ExportSingle(startDate, endDate, m_objBook, m_objSheets, m_objSheet, m_objRange, m_objFont, m_objOpt);

                m_objBook.SaveAs(path, m_objOpt, m_objOpt,
                                 m_objOpt, m_objOpt, m_objOpt, Excel.XlSaveAsAccessMode.xlNoChange,
                                 m_objOpt, m_objOpt, m_objOpt, m_objOpt);
                m_objBook.Close(false, m_objOpt, m_objOpt);
                m_objExcel.Quit();

                System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objFont);
                System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objRange);
                System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objSheet);
                System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objSheets);
                System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objBook);
                System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objBooks);
                System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objExcel);
            }
            catch (Exception ex)
            {
                Util.WriteLog(ex.Message, Util.EXCEPTION_LOG_TITLE);
            }
            finally
            {
                m_objFont   = null;
                m_objRange  = null;
                m_objSheet  = null;
                m_objSheets = null;
                m_objBook   = null;
                m_objBooks  = null;
                m_objExcel  = null;

                GC.Collect();

                KillProcess();
            }
        }
Example #23
0
        static void Main(string[] args)
        {
            var  excel = new Excel.Application();
            ICar c     = new ICar();

            c.Drive();
        }
Example #24
0
        /// <summary>
        /// Export data table to Excel like DataGridTableStyle
        /// </summary>
        /// <param name="view"></param>
        /// <param name="headers"></param>
        /// <param name="indexes"></param>
        /// <param name="startRow"></param>
        /// <param name="startCol"></param>
        /// <remarks>
        /// Author:			PhatLT. FPTSS.
        /// Created date:	14/02/2011
        /// </remarks>
        public void ExportToExcel(DataView view, string[] headers, int[] indexes, int startRow, int startCol)
        {
            Excel.Application excelApp  = null;
            Excel.Workbook    excelBook = null;
            Excel.Worksheet   sheet     = null;

            try
            {
                excelApp  = new Excel.Application();
                excelBook = excelApp.Workbooks.Add(Excel.XlWBATemplate.xlWBATWorksheet);
                sheet     = (Excel.Worksheet)excelBook.Worksheets[1];

                ExportToExcel(view, headers, indexes, startRow, startCol, sheet);

                excelApp.Visible = true;
            }
            catch (Exception ex)
            {
                log.Error(ex.Message, ex);
                if (excelApp != null)
                {
                    excelApp.Visible = true;
                }
            }
        }
Example #25
0
        public static void PrintPreview(string fileName, PageSetup p)
        {
            Excel.Application excelApp = null;
            Excel.Workbook    workBook = null;
            try
            {
                object objOpt = System.Reflection.Missing.Value;
                excelApp = ExcelInit();
                workBook = excelApp.Workbooks.Open(fileName, objOpt, objOpt, objOpt, objOpt, objOpt, objOpt,
                                                   objOpt, objOpt, objOpt, objOpt, objOpt, objOpt, objOpt, objOpt);

                if (p != null)
                {
                    //if (p.TopMargin != 0 || p.LeftMargin != 0 || p.RightMargin != 0 || p.BottomMargin != 0)
                    {
                        int             sheetCount = workBook.Sheets.Count;
                        Excel.Worksheet workSheet  = null;
                        int             i          = 0;
                        while (i <= sheetCount)
                        {
                            try
                            {
                                workSheet = workBook.Sheets[i];
                                break;
                            }
                            catch
                            {
                                i++;
                            }
                        }

                        workSheet.PageSetup.LeftMargin   = p.GetLeftMargin();
                        workSheet.PageSetup.RightMargin  = p.GetRightMargin();
                        workSheet.PageSetup.TopMargin    = p.GetTopMargin();
                        workSheet.PageSetup.BottomMargin = p.GetBottomMargin();
                        //workSheet.PageSetup.PaperSize = Excel.XlPaperSize.xlPaperA4;
                    }
                }

                excelApp.Visible = true;
                workBook.PrintPreview(objOpt);
                excelApp.Visible = false;
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                if (workBook != null)
                {
                    workBook.Close();
                    System.Runtime.InteropServices.Marshal.ReleaseComObject(workBook);
                    workBook = null;
                }

                ExcelTerminal(excelApp);
            }
        }
Example #26
0
        private void axWebBrowser1_NavigateComplete2(object sender, AxSHDocVw.DWebBrowserEvents2_NavigateComplete2Event e)
        {
            Object o            = e.pDisp;
            Object oDocument    = o.GetType().InvokeMember("Document", System.Reflection.BindingFlags.GetProperty, null, o, null);
            Object oApplication = o.GetType().InvokeMember("Application", System.Reflection.BindingFlags.GetProperty, null, oDocument, null);

            excelApp = (Excel.Application)oApplication;
        }
 protected virtual void ActivateExcel()
 {
     _excelApplication = new Excel.Application();
     _workBooks        = (Excel.Workbooks)_excelApplication.Workbooks;
     _workBook         = (Excel._Workbook)(_workBooks.Add(_value));
     _excelSheets      = (Excel.Sheets)_workBook.Worksheets;
     _excelSheet       = (Excel._Worksheet)(_excelSheets.get_Item(1));
 }
 /// <summary>
 /// Create Excel application parameters instances
 /// </summary>
 private void CreateExcelRef()
 {
     _excelApp = new Excel.Application();
     _books    = (Excel.Workbooks)_excelApp.Workbooks;
     _book     = (Excel._Workbook)(_books.Add(_optionalValue));
     _sheets   = (Excel.Sheets)_book.Worksheets;
     _sheet    = (Excel._Worksheet)(_sheets.get_Item(1));
 }
Example #29
0
 /// <summary>退出Excel</summary>
 public static void CloseExcel()
 {
     if (ExApp != null)
     {
         ExApp.Quit();
         ExApp = null;
     }
 }
Example #30
0
        private void BtnOpen_Click(object sender, EventArgs e)
        {
            Excel.Application excel   = new Excel.Application();
            string            strPath = this.txtExcel.Text;

            Excel.Workbook wBook = excel.Application.Workbooks.Add(strPath);
            excel.Visible = true;
        }
Example #31
0
 /// <summary>退出Excel</summary>
 public static void CloseExcel()
 {
     if (ExApp != null)
     {
         ExApp.Quit();
         ExApp = null;
     }
 }
Example #32
0
        public void AllStuInfoPrint(DataSet dsExportData, string savePath)
        {
            try
            {
                m_objExcel = new Excel.Application();
                m_objBooks = (Excel.Workbooks)m_objExcel.Workbooks;
                m_objBook  = (Excel._Workbook)m_objBooks.Open(excelPath + @"report\AllStuInfo.xls",
                                                              m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt, m_objOpt,
                                                              m_objOpt, m_objOpt, m_objOpt);
                m_objSheets = (Excel.Sheets)m_objBook.Worksheets;

                dv = dsExportData.Tables[0].DefaultView;

                for (int row = 1; row < dsExportData.Tables[1].Rows.Count; row++)
                {
                    m_objSheet = (Excel._Worksheet)m_objSheets.get_Item(1);

                    m_objSheet.Copy(m_objOpt, m_objSheet);
                }

                for (int row = 1; row <= dsExportData.Tables[1].Rows.Count; row++)
                {
                    m_objSheet      = (Excel._Worksheet)m_objSheets.get_Item(row);
                    m_objSheet.Name = Convert.ToString(dsExportData.Tables[1].Rows[row - 1][0]);
                    BindingData(m_objSheet.Name);
                }

                m_objBook.SaveAs(savePath, m_objOpt, m_objOpt,
                                 m_objOpt, m_objOpt, m_objOpt, Excel.XlSaveAsAccessMode.xlNoChange,
                                 m_objOpt, m_objOpt, m_objOpt, m_objOpt);
                m_objBook.Close(false, m_objOpt, m_objOpt);
                m_objExcel.Quit();

                System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objRange);
                System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objSheet);
                System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objSheets);
                System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objBook);
                System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objBooks);
                System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objExcel);
            }
            catch (Exception e)
            {
                Util.WriteLog(e.Message, Util.EXCEPTION_LOG_TITLE);
            }
            finally
            {
                m_objRange  = null;
                m_objSheet  = null;
                m_objSheets = null;
                m_objBook   = null;
                m_objBooks  = null;
                m_objExcel  = null;

                GC.Collect();

                KillProcess();
            }
        }
Example #33
0
    // Export DataTable into an excel file with field names in the header line
    // - Save excel file without ever making it visible if filepath is given
    // - Don't save excel file, just make it visible if no filepath is given
    public static void ExportToExcel(this DataTable Tbl, string ExcelFilePath = null)
    {
        try
        {
            if (Tbl == null || Tbl.Columns.Count == 0)
            {
                throw new Exception("ExportToExcel: Null or empty input table!\n");
            }

            // load excel, and create a new workbook
            Excel.Application excelApp = new Excel.Application();
            excelApp.Workbooks.Add();

            // single worksheet
            Excel._Worksheet workSheet = excelApp.ActiveSheet;

            // column headings
            for (int i = 0; i < Tbl.Columns.Count; i++)
            {
                workSheet.Cells[1, (i + 1)] = Tbl.Columns[i].ColumnName;
            }

            // rows
            for (int i = 0; i < Tbl.Rows.Count; i++)
            {
                // to do: format datetime values before printing
                for (int j = 0; j < Tbl.Columns.Count; j++)
                {
                    workSheet.Cells[(i + 2), (j + 1)] = Tbl.Rows[i][j];
                }
            }

            // check fielpath
            if (ExcelFilePath != null && ExcelFilePath != "")
            {
                try
                {
                    workSheet.SaveAs(ExcelFilePath);
                    excelApp.Quit();
                    MessageBox.Show("Excel file saved!");
                }
                catch (Exception ex)
                {
                    throw new Exception("ExportToExcel: Excel file could not be saved! Check filepath.\n"
                                        + ex.Message);
                }
            }
            else        // no filepath is given
            {
                excelApp.Visible = true;
            }
        }
        catch (Exception ex)
        {
            throw new Exception("ExportToExcel: \n" + ex.Message);
        }
    }
Example #34
0
        private void creat_Click(object sender, EventArgs e)
        {
            // textBox2.Text = UInt96.Parse(textBox1.Text).Inc().ToString();
            saveFileDialog1.Title    = "MAC地址生成工具----百思威科技";
            saveFileDialog1.Filter   = "Excel(*.xls)|*.xls";
            saveFileDialog1.FileName = string.Format("MAC地址_{0}", DateTime.Now.ToString("yyyyMMdd"));
            DialogResult result = saveFileDialog1.ShowDialog();

            Excel._Application xlapp   = new Excel.Application();
            Excel.Workbook     xlbook  = xlapp.Workbooks.Add(true);
            Excel.Worksheet    xlsheet = (Excel.Worksheet)xlbook.Worksheets[1];
            //  MessageBox.Show(textBox2.Text);
            int    RowCount = Convert.ToInt32(textBox2.Text);
            int    RowIndex = 0;
            string val      = textBox1.Text;

            val = val.Replace(":", "");
            for (int i = 0; i < RowCount; i++)
            {
                RowIndex++;
                if (i != 0)
                {
                    if (radioButton1.Checked)
                    {
                        val = UInt96.Parse(val).Inc().ToString(":");
                    }
                    else
                    {
                        val = UInt96.Parse(val).Inc().ToString("");
                    }
                    xlsheet.Cells[RowIndex, 1] = val;
                }
                else
                {
                    if (radioButton1.Checked)
                    {
                        string[]      sArray   = Regex.Split(val, @"(\w{2})");
                        List <string> listTemp = new List <string>();
                        foreach (string s in sArray)
                        {
                            if (string.IsNullOrEmpty(s))
                            {
                                continue;
                            }
                            listTemp.Add(s);
                        }
                        string[] newlist = listTemp.ToArray();
                        val = String.Join(":", newlist);
                    }
                    xlsheet.Cells[RowIndex, 1] = val;
                }
            }
            xlbook.Saved = true;
            xlbook.SaveCopyAs(saveFileDialog1.FileName);
            xlapp.Quit();
            MessageBox.Show("导出成功!", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }
Example #35
0
        private void Button1_Click(object sender, EventArgs e)
        {
            Excel.Application xl = new Excel.Application();

            xl.Visible = true;
            xl.Workbooks.Add("c:\\Pasta1.xlt");

            xl.Cells[3, 4] = TextBox1.Text;

        }
Example #36
0
        public void ExportExcel()
        {
            try
            {
                //if (e.KeyCode != Keys.F12) return;
                if (_autoExcel == false) return;
                BindingSource bsTemp = this.PrimaryGrid.DataSource as BindingSource;
                if (bsTemp == null) return;
                DataTable tempDATA = bsTemp.DataSource as DataTable;
                if (tempDATA == null) return;
                DataTable DATA = tempDATA;
                DATA.RejectChanges();

                Excel.Application objExcel;
                try
                {
                    //Tìm instance Excel đang chạy.
                    objExcel = (Excel.Application)System.Runtime.InteropServices.Marshal.GetActiveObject("Excel.Application");
                }
                catch
                {
                    //Không có instance nào của Excel đang chạy.
                    objExcel = new Excel.Application();
                }

                try
                {
                    objExcel.Interactive = false;
                    objExcel.Interactive = true;
                }
                catch
                {
                    //CrossShow2 msg = new CrossShow2(clsMx.Show);
                    //this.Invoke(msg, Qk.Settings.ctrmsgPrintError, eAlertType.CanhBao);
                    return;
                }
                objExcel.Visible = false;
                string tmpFileXSL = Path.Combine(st.TEMP_DIR, Guid.NewGuid().ToString() + ".xls");
                clsAll.ExtractXLS("AutoExcel.xls", tmpFileXSL);
                objExcel.Workbooks.Open(tmpFileXSL);

                object[,] objData = clsAll.DataTable2ArrayObjects(DATA);
                string strRange = string.Format("A{0}:{1}{2}", 1, clsAll.GetExcelColumnLabel(DATA.Columns.Count), DATA.Rows.Count);
                objExcel.Range[strRange].Value = objData;
                objExcel.Visible = true;
                objExcel.ActiveWorkbook.Save();
                //objExcel.Worksheets.PrintPreview();
            }
            catch (Exception ex)
            {
                clsMx.Show(ex, this.Name);
            }
        }
Example #37
0
        /// <summary>
        /// エクセルデータの操作を行う
        /// </summary>
        /// <param name="path">xlsファイルパス</param>
        public ExcelController(string path)
        {
            exPath = path;

            oXls = new Excel.Application();

            //Excel画面を表示しない
            oXls.Visible = false;

            //Excelファイルをオープンする
            oWBook = (Excel.Workbook)(oXls.Workbooks.Open(exPath));
        }
        private void LoadDataExcel()
        {
            try
            {
                if (tbUploadFile.Text == "")
                {
                    MessageBox.Show("Vui lòng load file để cập nhật!");
                }
                string status_name = "", status_code = "", result = "";
                string resultT = "" , MSG = "";
                conTTTSOA SOA = new conTTTSOA();
                status_name = cbTrangthai.Text.ToString();
                status_code = cbTrangthai.SelectedValue.ToString();

                //    string file = @"C:\Users\thongnt.NAMABANK0\Pictures\CẬP NHẬT TRẠNG THÁI ĐỒNG LOẠT FILE MẪU.xls";

                Excel.Application xlApp = new Excel.Application();
                Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(tbUploadFile.Text);
                //Excel.Workbook xlWorkbook = xlApp.Workbooks.Open(file);
                Excel._Worksheet xlWorksheet = (Excel._Worksheet)xlWorkbook.Sheets[1];
                Excel.Range xlRange = xlWorksheet.UsedRange;

                string contract_number = "";
                int n_true = 0;
                for (int i = 1; i <= xlRange.Count; i++)
                {
                    if ((string)(xlRange.Cells[i, 1] as Excel.Range).Value2.ToString() == "")
                    {
                        return;
                    }
                    contract_number = (string)(xlRange.Cells[i, 1] as Excel.Range).Value2.ToString();
                    result = SOA.SOA_Change_Contr_Status("Web", contract_number, status_code, status_name, "82");
                    resultT = result.Substring(result.IndexOf("<result>") + "<result>".Length, result.IndexOf("</result>") - (result.IndexOf("<result>") + "<result>".Length));
                    MSG = result.Substring(result.IndexOf("<msg>") + "<msg>".Length, result.IndexOf("</msg>") - (result.IndexOf("<msg>") + "<msg>".Length));
                    if(resultT == "0")
                    {
                        n_true = n_true + 1;
                        lbKetqua.Text = MSG + " " + n_true;
                    }
                    if (i == xlRange.Count)
                    {
                        MessageBox.Show("Đã hoàn thành cập nhật!!!!");
                        return;
                    }
                }
            }
            catch (Exception error)
            {
                MessageBox.Show("File excel không đúng định dạng!",error.Message);
            }

        }
		public void NutritionPrint(string savePath)
		{
			try
			{
				m_objExcel = new Excel.Application(); 
				m_objBooks = (Excel.Workbooks)m_objExcel.Workbooks;				
				m_objBook = (Excel._Workbook)m_objBooks.Open(excelPath+@"report\nutrition.xls",
					m_objOpt,m_objOpt,m_objOpt,m_objOpt,m_objOpt,m_objOpt,m_objOpt,m_objOpt,m_objOpt,
					m_objOpt,m_objOpt,m_objOpt); 
  
				m_objSheets = (Excel.Sheets)m_objBook.Worksheets;  	
				int number = m_objSheets.Count;	

				writeCover();
				writeStuAmount(); 
	            writeStuConvert();
		        writeACC1(); 
				writeACC2();
				writeElement();	
	
				m_objBook.SaveAs(savePath, m_objOpt, m_objOpt,
					m_objOpt, m_objOpt, m_objOpt, Excel.XlSaveAsAccessMode.xlNoChange,
					m_objOpt, m_objOpt, m_objOpt, m_objOpt);
				m_objBook.Close(false, m_objOpt, m_objOpt);
				m_objExcel.Quit();

				System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objRange);
				System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objSheet);
				System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objSheets);
				System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objBook);
				System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objBooks);
				System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objExcel);		
			}
			catch(Exception ex)
			{
				Util.WriteLog(ex.Message,Util.EXCEPTION_LOG_TITLE);
			}
			finally
			{
				m_objRange = null;
				m_objSheet = null;
				m_objSheets = null;
				m_objBook = null;
				m_objBooks = null;
				m_objExcel = null;

				GC.Collect();

				KillProcess();
			}
		}
        public static void NativeExcel_CreateExcel(
            DataTable Dt
            , ClsExcel_Columns Columns
            , string SaveFileName = ""
            , Excel.XlFileFormat FileFormat =  Excel.XlFileFormat.xlExcel5
            , string Title = "")
        {
            Excel.Application Obj_Excel = new Excel.Application();

            Excel.Workbook owbook = Obj_Excel.Workbooks.Add();
            Excel.Worksheet owsheet = owbook.Worksheets.Add();

            Int32 RowCt = 2;
            Int32 ColCt = 1;

            foreach (ClsExcel_Columns.Str_Columns? Obj in Columns.pObj)
            {
                owsheet.Cells[RowCt, ColCt].Value = Obj.Value.FieldDesc;
                owsheet.Cells[RowCt, ColCt].Font.Bold = true;
                Excel.Range Inner_ExRange =
                    owsheet.Range[
                        Do_Methods.GenerateChr(ColCt)
                        + RowCt.ToString()
                        + ":"
                        + Do_Methods.GenerateChr(ColCt)
                        + (RowCt + Dt.Rows.Count).ToString()];
                Inner_ExRange.NumberFormat = Obj.Value.NumberFormat;
                ColCt++;
            }

            RowCt++;
            ColCt = 1;

            Excel.Range ExRange =
                owsheet.Range[
                Do_Methods.GenerateChr(ColCt)
                + RowCt.ToString()
                + ":"
                + Do_Methods.GenerateChr(ColCt + Columns.pObj.Count)
                + (RowCt + Dt.Rows.Count - 1).ToString()];

            ExRange.Value = Do_Methods.ConvertDataTo2DimArray(Dt, Columns.pFieldName);
            owsheet.Range["A1;IV65536"].AutoFit();

            if (SaveFileName == "")
            { SaveFileName = "Excel_File"; }

            owsheet.Range["A1:A1"].Select();
            owbook.SaveAs(SaveFileName, FileFormat);
        }
Example #41
0
        private void button1_Click(object sender, EventArgs e)
        {
            Excel.Application xl = new Excel.Application();

            xl.Visible = true;

            xl.Workbooks.Add("c:\\Pasta1.xlt");

            xl.Cells[3, 4] = "oi";

            object x = new object();

            xl.Workbooks[0].Close(false, "", x);

            xl.Quit();
        }
Example #42
0
 public ExcelControl()
 {
     // This call is required by the Windows.Forms Form Designer.
     InitializeComponent();
     // TODO: Add any initialization after the InitComponent call
     try
     {
         excelApp = new Excel.ApplicationClass();
         excelApp.Visible = true;
         Excel.Workbook book = excelApp.Workbooks.Open(@"C:\Documents and Settings\raghunandanr\Desktop\Benefit Design Modeler V3.28_ Blank.xls",Type.Missing,false,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing,Type.Missing);
         this.CreateGraphics().DrawString("ok ok",new System.Drawing.Font("Arial",25),Brushes.GreenYellow,10,10);
         book.Close(false,Type.Missing,Type.Missing);
     }
     catch(Exception ex)
     {
         this.CreateGraphics().DrawString(ex.Message,new System.Drawing.Font("Arial",16),Brushes.Chocolate,10,10);
     }
 }
Example #43
0
 /// <summary>退出Excel</summary>
 public static void CloseExcel()
 {
     try
     {
         if (ExApp != null)
         {
             ExApp.Quit();
         }
     }
     catch (Exception ex1)
     {
         //强制把excel进程退出,关闭时,会出异常
     }
     finally
     {
         ExApp = null;
     }
 }
Example #44
0
        public static void ExportToExcel(DataTable dt, string type, string title, string thoiGian)
        {
            //Export to excel
            try
            {
                Excel.Application excel = new Excel.Application();
                excel.Application.Workbooks.Add(true);
                System.Data.DataTable table = dt;

                excel.Cells[1, 1] = "Print Date :" + DateTime.Now.ToLongDateString();
                excel.Cells[3, 1] = title;
                excel.Cells[4, 1] = thoiGian;

                for (int k = 0; k < table.Columns.Count; k++)
                {
                    excel.Cells[6, k + 1] = table.Columns[k].ColumnName.ToString();
                }

                int ColumnIndex = 0;
                int rowIndex = 5;
                foreach (DataRow row in table.Rows)
                {
                    rowIndex++;
                    ColumnIndex = 0;
                    foreach (DataColumn col in table.Columns)
                    {
                        ColumnIndex++;
                        ((Excel.Range)excel.Cells[rowIndex + 1, ColumnIndex]).NumberFormat = "@"; //Format dạng text
                        //excel.Cells[rowIndex + 1, ColumnIndex] = row[col.ColumnName]; //OLD 2016-01-04 (3)
                        excel.Cells[rowIndex + 1, ColumnIndex] = row[col.ColumnName].ToString(); //2016-01-04 (3)
                        //((Excel.Range)excel.Cells[rowIndex + 1, ColumnIndex]).BorderAround(Excel.XlLineStyle.xlContinuous, Excel.XlBorderWeight.xlThin, Excel.XlColorIndex.xlColorIndexAutomatic, 1);
                    }
                }

                excel.Visible = true;
                Excel._Worksheet worksheet = (Excel._Worksheet)excel.ActiveSheet;

                worksheet.Activate();
            }
            catch (Exception exml)
            {
                MessageBox.Show(exml.Message);
            }
        }
Example #45
0
    public void Upload()
    {
        string strPathnew = Server.MapPath("~/") + "UploadFile\\AcrTestfinalresult.xls";
        try
        {
            Excel.Workbook xlWorkBook;
            Excel.Worksheet xlWorkSheet;

            xlWorkBook = new Excel.Application().Workbooks.Add(Missing.Value);
            xlWorkBook.Application.Visible = true;
            xlWorkSheet = (Excel.Worksheet)xlWorkBook.ActiveSheet;

            string strPath = Server.MapPath("~/") + "UploadFile\\AcrTestfinal.xls";
            StreamReader sr = new StreamReader(strPath); //Read the Excel Stream
            string strTest = "";
            int i = 1;
            while (!sr.EndOfStream)
            {

                strTest = sr.ReadLine();
                string[] strData = strTest.Split('\t');
                int count = strData.Length;
                for (int k = 1; k <= count; k++)
                {
                    string str = strData[k - 1].Replace("\"", "");
                    if (k == 4)  //1 based index of Column required to be changed
                    {
                        str = str.Insert(0, "'");
                    }
                    xlWorkSheet.Cells[i, k] = str;
                }

                i++;
            }
            sr.Close();
            sr.Dispose();
            xlWorkSheet.Columns.AutoFit();
            xlWorkBook.SaveAs(strPathnew , Excel.XlFileFormat.xlExcel4, Missing.Value, Missing.Value, false, false, Excel.XlSaveAsAccessMode.xlNoChange, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value);
            xlWorkBook.Close(Missing.Value, strPathnew, Missing.Value);

        }
        catch
        { }
    }
Example #46
0
        /// <summary>
        /// Export DataList To Excel File
        /// </summary>
        /// <param name="dataList">List of Data need export</param>
        /// <returns></returns>
        public bool ToExcel(List<ArrayList> dataList)
        {
            Excel.Application xlApp = new Excel.Application();
            Excel.Workbook xlWorkBook = xlApp.Workbooks.Open(_temp_excel_file_path);
            Excel.Worksheet xlWorkSheet = xlWorkBook.Worksheets.get_Item(_sheet_number);
            //SetValue and Fortmat base on template file

            SetCells(xlWorkSheet, dataList);

            //Save as new file
            xlWorkSheet.SaveAs(_save_as_export_file_path);
            //Dispose obj
            xlWorkBook.Close();
            xlApp.Quit();
            System.Runtime.InteropServices.Marshal.ReleaseComObject(xlWorkSheet);
            System.Runtime.InteropServices.Marshal.ReleaseComObject(xlWorkBook);
            System.Runtime.InteropServices.Marshal.ReleaseComObject(xlApp);
            xlWorkSheet = null;
            xlWorkBook = null;
            xlApp = null;

            return true;
        }
Example #47
0
		public void RealtimeMorningPrint(DataSet dsRealtimeMorning,string savePath)
		{
			KillProcess();
			try
			{
				m_objExcel = new Excel.Application();
				m_objBooks = (Excel.Workbooks)m_objExcel.Workbooks;
				m_objBook = (Excel._Workbook)m_objBooks.Open(excelPath+@"report\RealtimeMorningInfo.xls",
					m_objOpt,m_objOpt,m_objOpt,m_objOpt,m_objOpt,m_objOpt,m_objOpt,m_objOpt,m_objOpt,
					m_objOpt,m_objOpt,m_objOpt);
				m_objSheets = (Excel.Sheets)m_objBook.Worksheets;

				//获取第一个打印页
				m_objSheet = (Excel._Worksheet)m_objSheets.get_Item(1);
				for ( int row = 0; row < dsRealtimeMorning.Tables[0].Rows.Count; row ++ )
				{
                    m_objRange = m_objSheet.get_Range((Excel.Range)m_objSheet.Cells[row + 7, 1], (Excel.Range)m_objSheet.Cells[row + 7, 1]);
					m_objRange.Value = dsRealtimeMorning.Tables[0].Rows[row][1].ToString();
					m_objRange.Borders.LineStyle = BorderStyle.FixedSingle;
					m_objRange.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;
					m_objRange.VerticalAlignment = Excel.XlHAlign.xlHAlignCenter;
					m_objRange.Font.Size = 10;
					for ( int column = 3;column < dsRealtimeMorning.Tables[0].Columns.Count; column ++)
					{
                        m_objRange = m_objSheet.get_Range((Excel.Range)m_objSheet.Cells[row + 7, column - 1], (Excel.Range)m_objSheet.Cells[row + 7, column - 1]);
						m_objRange.set_Item(1,1,dsRealtimeMorning.Tables[0].Rows[row][column].ToString());
						m_objRange.Borders.LineStyle = BorderStyle.FixedSingle;
						m_objRange.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;
						m_objRange.VerticalAlignment = Excel.XlHAlign.xlHAlignCenter;
						m_objRange.Font.Size = 10;
					}

					if ( row == dsRealtimeMorning.Tables[0].Rows.Count - 1 )
					{
                        m_objRange = m_objSheet.get_Range((Excel.Range)m_objSheet.Cells[row + 9, 1], (Excel.Range)m_objSheet.Cells[row + 9, 1]);
						m_objRange.Value = "园所信息:";
						m_objRange.Font.Bold = true;
						m_objRange.Font.Size = 12;
						m_objRange.HorizontalAlignment = Excel.XlHAlign.xlHAlignLeft;
						m_objRange.VerticalAlignment = Excel.XlHAlign.xlHAlignCenter;

                        m_objRange = m_objSheet.get_Range((Excel.Range)m_objSheet.Cells[row + 9, 2], (Excel.Range)m_objSheet.Cells[row + 9, 2]);
						m_objRange.Value = new GardenInfoDataAccess().GetGardenInfo().Tables[0].Rows[0][1].ToString();
						m_objRange.Font.Size = 12;
						m_objRange.HorizontalAlignment = Excel.XlHAlign.xlHAlignLeft;
						m_objRange.VerticalAlignment = Excel.XlHAlign.xlHAlignCenter;

                        m_objRange = m_objSheet.get_Range((Excel.Range)m_objSheet.Cells[row + 10, 1], (Excel.Range)m_objSheet.Cells[row + 10, 1]);
						m_objRange.Value = "统计日期:";
						m_objRange.Font.Bold = true;
						m_objRange.Font.Size = 12;
						m_objRange.HorizontalAlignment = Excel.XlHAlign.xlHAlignLeft;
						m_objRange.VerticalAlignment = Excel.XlHAlign.xlHAlignCenter;

                        m_objRange = m_objSheet.get_Range((Excel.Range)m_objSheet.Cells[row + 10, 2], (Excel.Range)m_objSheet.Cells[row + 10, 2]);
						m_objRange.Value = DateTime.Now.ToString("yyyy-MM-dd");
						m_objRange.Font.Size = 12;
						m_objRange.HorizontalAlignment = Excel.XlHAlign.xlHAlignLeft;
						m_objRange.VerticalAlignment = Excel.XlHAlign.xlHAlignCenter;

					}
				}

				m_objBook.SaveAs(savePath, m_objOpt, m_objOpt,
					m_objOpt, m_objOpt, m_objOpt, Excel.XlSaveAsAccessMode.xlNoChange,
					m_objOpt, m_objOpt, m_objOpt, m_objOpt);
				m_objBook.Close(false, m_objOpt, m_objOpt);
				m_objExcel.Quit();

				System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objRange);
				System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objSheet);
				System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objSheets);
				System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objBook);
				System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objBooks);
				System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objExcel);
			}
			catch(Exception e)
			{
				Util.WriteLog(e.Message,Util.EXCEPTION_LOG_TITLE);
			}
			finally
			{
				m_objRange = null;
				m_objSheet = null;
				m_objSheets = null;
				m_objBook = null;
				m_objBooks = null;
				m_objExcel = null;

				GC.Collect();

				KillProcess();
			}
		}
        private void ExportExcel(string type)
        {
            Excel._Application excel = new Excel.Application();
            excel.Application.Workbooks.Add(true);
            excel.Cells[1, 1] = "Group";// [Dòng, cột]
            excel.Cells[1, 2] = "Account ";
            excel.Cells[1, 3] = "Ccy_cd";
            excel.Cells[1, 4] = "Amount ";
            excel.Cells[1, 5] = "Branch_code";
            excel.Cells[1, 6] = "Account_Branch ";
            excel.Cells[1, 7] = "Dr_Cr";
            excel.Cells[1, 8] = "Ex_rate ";
            excel.Cells[1, 9] = "Trn_dt";
            excel.Cells[1, 10] = "Description ";
            //excel.Cells[1, 1] = "Tại thời điểm  " + dtTo.Text;
            //((Excel.Range)excel.Cells[1, 1]).Font.Bold = true;
            string sql = "", err = "";
            if (Frm_main.admin_flag)
            {
                sql = "select a.group_id,''''||a.account_number as account_number,a.ccy_cd,a.amount_accounting,''''||a.branch_code as branch_code" +
                       " ,''''||a.account_branch as account_branch,a.dr_cr,a.ex_rate,to_char(a.trn_dt,'mm/dd/yyyy') as trn_dt,a.description,a.user_create,a.accounting_type " +
                " from  nab_accounting a " +
               " where trunc(a.date_proccessing)= trunc(to_date('" + dp_Date_Process.Text + "','dd/mm/yyyy'))";
            }
            else
            {
                sql = "select a.group_id,''''||substr(a.account_number,1,4)||'xxxxxxxx'||substr(a.account_number,-4) as account_number,a.ccy_cd,a.amount_accounting,''''||a.branch_code as branch_code" +
                       " ,''''||a.account_branch as account_branch,a.dr_cr,a.ex_rate,to_char(a.trn_dt,'mm/dd/yyyy') as trn_dt,a.description,a.user_create,a.accounting_type " +
                " from  nab_accounting a " +
               " where trunc(a.date_proccessing)= trunc(to_date('" + dp_Date_Process.Text + "','dd/mm/yyyy'))";
            }
           

            if (type == "ACCOUNTING_TRANSACTION")
            {
                sql += " and upper(trim(a.accounting_type))=upper(trim('" + type + "'))";
                sql += " and upper(trim(a.accounting_type)) not in ( upper(trim('ACCOUNTING_TRANSACTION_INT')),upper(trim('ACCOUNTING_IBPS_DEBIT')))";
                //string sqlString = "ACCOUNTING_IBPS_DEBIT";

                sql += " and a.file_id='2'";
            }else
                if (type == "ACCOUNTING_ANNUALFEE")
            {
                sql += " and upper(trim(a.accounting_type))=upper(trim('" + type + "'))";
                sql += " and upper(trim(a.accounting_type)) not in ( upper(trim('ACCOUNTING_TRANSACTION_INT')),upper(trim('ACCOUNTING_IBPS_DEBIT')))";
                //string sqlString = "ACCOUNTING_IBPS_DEBIT";

                sql += " and a.file_id='8'";
            }
            else
            {
                sql += " and upper(trim(a.accounting_type))=upper(trim('" + type + "'))";
            }
            sql += " order by a.group_id asc";
            DataTable dtExport = Businessbp.executedb.getTable(sql, ref err);
            if (err != "")
            {
                MessageBox.Show(err);
                this.Cursor = Cursors.Default;
                return;
            }
            else
            {
                if (dtExport.Rows.Count > 0)
                {

                    for (int i = 0; i < dtExport.Rows.Count; i++)
                    {
                        string Group = "", Account = "", Ccy_cd = "", Amount = "", Branch_code = "",
                                                              Account_Branch = "", Dr_Cr = "", Ex_rate = "", Trn_dt = "", Description = "";
                        //a.group_id,a.account_number,a.ccy_cd,a.amount_accounting,a.branch_code "+
                        //" ,a.account_branch,a.dr_cr,a.ex_rate,a.trn_dt,a.description,a.user_create,a.accounting_type "+
                        Group = dtExport.Rows[i]["group_id"].ToString();
                        Account = dtExport.Rows[i]["account_number"].ToString();
                        Ccy_cd = dtExport.Rows[i]["ccy_cd"].ToString();
                        Amount = dtExport.Rows[i]["amount_accounting"].ToString();
                        Branch_code = dtExport.Rows[i]["branch_code"].ToString().Trim();
                        Account_Branch = dtExport.Rows[i]["account_branch"].ToString().Trim();
                        Dr_Cr = dtExport.Rows[i]["dr_cr"].ToString();
                        Ex_rate = dtExport.Rows[i]["ex_rate"].ToString();
                        Trn_dt = dtExport.Rows[i]["trn_dt"].ToString();
                        Description = dtExport.Rows[i]["description"].ToString();

                        //Export excel
                        excel.Cells[i + 2, 1] = Group;// [Dòng, cột]
                        excel.Cells[i + 2, 2] = Account;
                        excel.Cells[i + 2, 3] = Ccy_cd;
                        excel.Cells[i + 2, 4] = Amount;
                        excel.Cells[i + 2, 5] = Branch_code;
                        excel.Cells[i + 2, 6] = Account_Branch;
                        excel.Cells[i + 2, 7] = Dr_Cr;
                        excel.Cells[i + 2, 8] = Ex_rate;
                        excel.Cells[i + 2, 9] = Trn_dt;
                        excel.Cells[i + 2, 10] = Description;

                    }
                }
            }

            //----------------
            excel.Visible = true;
            Excel._Worksheet worksheet = (Excel._Worksheet)excel.ActiveSheet;
            worksheet.Activate();
            // worksheet.SaveAs("D:\\");

        }
        public void crearExcelReporteInsumos()
        {
            ControlInsumos.DAL.ArticuloDal artDal = new ControlInsumos.DAL.ArticuloDal();

            int veces = artDal.countArt();
            string desde = cboxAñoDesde.Text + "-" + mesDesde() + "-" + cboxDesde.Text;
            string hasta = cboxAñoDesde.Text + "-" + mesHasta() + "-" + cboxHasta.Text;

            string nombreArchivo = "Reporte Insumos." + DateTime.Now.ToShortDateString();
            try
            {
                // creating Excel Application

                Excel._Application app = new Excel.Application();

                object misValue = System.Reflection.Missing.Value;

                // creating new WorkBook within Excel application

                Excel._Workbook workbook = app.Workbooks.Add(Type.Missing);

                // creating new Excelsheet in workbook

                Excel._Worksheet worksheet = null;

                // see the excel sheet behind the program

                app.Visible = false;

                // get the reference of first sheet. By default its name is Sheet1.

                // store its reference to worksheet
                for (int r = 1; r <= veces; r++)
                {
                    string nombreArticulo = artDal.nombreArticulo(r - 1);

                    dgvInformes.DataSource = b.SelectDataTable(insumosDal.reporteInsumos(r, nombreArticulo, desde, hasta));

                    worksheet = (Excel._Worksheet)workbook.Sheets["hoja" + r];

                    //worksheet = (Excel._Worksheet)workbook.ActiveSheet;

                    // changing the name of active sheet
                    if (r == 1)
                    {
                        worksheet.Name = "Resumen Insumos";
                    }
                    else
                    {
                        worksheet.Name = nombreArticulo;
                    }

                    // storing header part in Excel

                    for (int i = 1; i < dgvInformes.Columns.Count + 1; i++)
                    {
                        worksheet.Cells[1, i] = dgvInformes.Columns[i - 1].HeaderText;
                    }
                    // storing Each row and column value to excel sheet

                    for (int i = 0; i < dgvInformes.Rows.Count - 1; i++)
                    {
                        for (int j = 0; j < dgvInformes.Columns.Count; j++)
                        {
                            worksheet.Cells[i + 2, j + 1] = dgvInformes.Rows[i].Cells[j].Value.ToString();
                        }
                    }
                }
                // save the application
                workbook.SaveAs(nombreArchivo + ".xls", Excel.XlFileFormat.xlWorkbookNormal, misValue, misValue, misValue, misValue, Excel.XlSaveAsAccessMode.xlExclusive, misValue, misValue, misValue, misValue, misValue);
                workbook.Close(true, misValue, misValue);
                MessageBox.Show("El archivo: " + nombreArchivo + ", se ha guardado en Mis Documentos", "Informes", MessageBoxButtons.OK, MessageBoxIcon.Information);

                // Exit from the application

                app.Quit();
            }
            catch (Exception e)
            {

            }
        }
		public void FinanceStatPrint(DataTable data, string className, DateTime date, string savePath)
		{
			DataTable dtPresents = new FinanInfoDataAccess().GetStudentPresents(date, className);
			if (dtPresents == null || dtPresents.Rows.Count == 0)
			{
				throw new Exception("没有要使用的数据!");
			}
			else
			{

				data.Columns.AddRange(new DataColumn[]{ new DataColumn("小计", Type.GetType("System.Double")),
															new DataColumn("stuPresent", Type.GetType("System.String")),
															new DataColumn("stuAbsent", Type.GetType("System.String"))});
				if (dtPresents.Rows.Count != data.Rows.Count)
				{
					throw new Exception("检测到数据完整性错误,请尝试重新生成数据!");
				}
				else
				{
					for (int i = 0; i < dtPresents.Rows.Count; i++)
					{
						data.Rows[i]["小计"] = 0;
						data.Rows[i]["stuPresent"] = dtPresents.Rows[i]["times"];
						data.Rows[i]["stuAbsent"] = dtPresents.Rows[i]["times_abs"];
					}
				}

				m_objExcel = new Excel.Application(); 
				m_objBooks = (Excel.Workbooks)m_objExcel.Workbooks;	 			
				m_objBook = (Excel._Workbook)m_objBooks.Open(excelPath + @"report\FinanceStat.xls",
					m_objOpt,m_objOpt,m_objOpt,m_objOpt,m_objOpt,m_objOpt,m_objOpt,m_objOpt,m_objOpt,
					m_objOpt,m_objOpt,m_objOpt); 
				m_objSheets = (Excel.Sheets)m_objBook.Worksheets;
				m_objSheet = (Excel._Worksheet)m_objSheets.get_Item(1);
				object[,] objData = new object[data.Rows.Count + 1, data.Columns.Count + 4];
				for(int row = 0; row < data.Rows.Count; row++)
				{
					objData[row, 0] = row + 1;
					for (int column = 0; column < data.Columns.Count - 3; column++)
					{
						if (column <= 2)
						{
							objData[row, column + 1] = data.Rows[row][column];
						}
						else if(column == 3)
						{
							objData[row, column + 1] = data.Rows[row][data.Columns.Count - 2];
							objData[row, column + 2] = data.Rows[row][data.Columns.Count - 1];
							double temp = Convert.ToDouble(data.Rows[row][column]);
							objData[row, column + 3] = temp;
							objData[data.Rows.Count, column + 3] = temp + (objData[data.Rows.Count, column + 3] == null ? 0 : 
								Convert.ToDouble(objData[data.Rows.Count, column + 3]));
						}
						else if (column >= 4 && column < 7)
						{
							double temp = Convert.ToDouble(data.Rows[row][column]);
							objData[row, column + 3] = temp;
							objData[data.Rows.Count, column + 3] = temp + (objData[data.Rows.Count, column + 3] == null ? 0 : 
								Convert.ToDouble(objData[data.Rows.Count, column + 3]));
						}
						else if (column == 7)
						{
							double temp1 = Convert.ToDouble(data.Rows[row][column - 4]) + 
								Convert.ToDouble(data.Rows[row][column - 3]) + Convert.ToDouble(data.Rows[row][column - 2]) +
								Convert.ToDouble(data.Rows[row][column - 1]);
							objData[row, column + 3] = temp1;

							double temp2 = Convert.ToDouble(data.Rows[row][column]);
 							objData[row, column + 4] = temp2;
							
							objData[data.Rows.Count, column + 3] = temp1 + (objData[data.Rows.Count, column + 3] == null ? 0 :
								Convert.ToDouble(objData[data.Rows.Count, column + 3]));
							objData[data.Rows.Count, column + 4] = temp2 + (objData[data.Rows.Count, column + 4] == null ? 0 :
								Convert.ToDouble(objData[data.Rows.Count, column + 4]));
						}
						else
						{
							double temp = Convert.ToDouble(data.Rows[row][column]);
							objData[row, column + 4] = temp;
							objData[data.Rows.Count, column + 4] = temp + (objData[data.Rows.Count, column + 4] == null ? 0 :
								Convert.ToDouble(objData[data.Rows.Count, column + 4]));
						}
					}
				}
				m_objRange = m_objSheet.get_Range("A6", m_objOpt);
				m_objRange = m_objRange.get_Resize(data.Rows.Count + 1, data.Columns.Count + 1);
				m_objRange.Value = objData;
				m_objRange.VerticalAlignment = Excel.XlVAlign.xlVAlignCenter;
				m_objRange.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;
				m_objRange.WrapText = true;
				m_objRange.Borders.LineStyle = System.Windows.Forms.BorderStyle.FixedSingle;
				m_objRange.Font.Size = 10;

				m_objRange = m_objSheet.get_Range("G3", m_objOpt);
				m_objRange.Value = "各项费用";
				m_objRange = m_objSheet.get_Range(m_objSheet.Cells[3, 7], m_objSheet.Cells[4, data.Columns.Count]);
				m_objRange.Merge(m_objOpt);
				m_objRange.VerticalAlignment = Excel.XlVAlign.xlVAlignCenter;
				m_objRange.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;
				m_objRange.WrapText = true;
				m_objRange.Borders.LineStyle = System.Windows.Forms.BorderStyle.FixedSingle;
				m_objRange.Font.Size = 12;

				m_objRange = m_objSheet.get_Range(m_objSheet.Cells[3, data.Columns.Count + 1], m_objSheet.Cells[4, data.Columns.Count + 1]);
				m_objRange.Merge(m_objOpt);
				m_objRange.VerticalAlignment = Excel.XlVAlign.xlVAlignCenter;
				m_objRange.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;
				m_objRange.WrapText = true;
				m_objRange.Borders.LineStyle = System.Windows.Forms.BorderStyle.FixedSingle;

				object[, ] objColumn = new object[1, data.Columns.Count - 5];
				for (int column = 3; column < data.Columns.Count - 3; column++ )
				{
					if (column < 7)
					{
						objColumn[0, column - 3] = data.Columns[column].ColumnName;
					}
					if (column == 7)
					{
						objColumn[0, column - 3] = data.Columns[data.Columns.Count - 3].ColumnName;
						objColumn[0, column - 2] = data.Columns[column].ColumnName;
					}
					else
					{
						objColumn[0, column - 2] = data.Columns[column].ColumnName;
					}
				}

				m_objRange = m_objSheet.get_Range("G5", m_objOpt);
				m_objRange = m_objRange.get_Resize(1, data.Columns.Count - 5);
				m_objRange.Value = objColumn;
				m_objRange.VerticalAlignment = Excel.XlVAlign.xlVAlignCenter;
				m_objRange.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;
				m_objRange.WrapText = true;
				m_objRange.Borders.LineStyle = System.Windows.Forms.BorderStyle.FixedSingle;
				m_objRange.Font.Size = 10.5;

				for (int column = 5; column < data.Columns.Count - 3; column++)
				{
					m_objRange = m_objSheet.get_Range(m_objSheet.Cells[6, column + 2], m_objSheet.Cells[5 + data.Rows.Count, column + 2]);
					object i = m_objRange.Calculate();
					string s = "asf";
				}
				
				m_objBook.SaveAs(savePath, m_objOpt, m_objOpt,
					m_objOpt, m_objOpt, m_objOpt, Excel.XlSaveAsAccessMode.xlNoChange,
					m_objOpt, m_objOpt, m_objOpt, m_objOpt);
				m_objBook.Close(false, m_objOpt, m_objOpt);
				m_objExcel.Quit();

				System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objRange);
				System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objSheet);
				System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objSheets);
				System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objBook);
				System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objBooks);
				System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objExcel);
			}
		}
		public void FinanMgmtInfoPrint(DataSet dsFinanInfo,string savePath)
		{
			int rowStart = 6;
			try
			{
				m_objExcel = new Excel.Application(); 
				m_objBooks = (Excel.Workbooks)m_objExcel.Workbooks;				
				m_objBook = (Excel._Workbook)m_objBooks.Open(excelPath+@"report\FinanMgmtInfo.xls",
					m_objOpt,m_objOpt,m_objOpt,m_objOpt,m_objOpt,m_objOpt,m_objOpt,m_objOpt,m_objOpt,
					m_objOpt,m_objOpt,m_objOpt); 

				m_objSheets = (Excel.Sheets)m_objBook.Worksheets;
				m_objSheet = (Excel._Worksheet)m_objSheets.get_Item(1);
				m_objSheet.Copy(m_objSheet,m_objOpt);
				m_objSheet = (Excel._Worksheet)m_objSheets.get_Item(1);
				m_objSheet.Name = dsFinanInfo.Tables[0].Rows[0][2].ToString();
				for ( int finanRow = 0;finanRow < dsFinanInfo.Tables[0].Rows.Count; finanRow ++ )
				{
					if ( !dsFinanInfo.Tables[0].Rows[finanRow][2].ToString().Equals(m_objSheet.Name) )
					{
						SetJumpBoard(rowStart,dsFinanInfo.Tables[0].Rows[finanRow-1][2].ToString());
						m_objSheet = (Excel._Worksheet)m_objSheets.get_Item(m_objSheets.Count);
						m_objSheet.Copy(m_objSheet,m_objOpt);
						m_objSheet = (Excel._Worksheet)m_objSheets.get_Item(m_objSheets.Count-1);
						m_objSheet.Name = dsFinanInfo.Tables[0].Rows[finanRow][2].ToString();
						rowStart = 6;
					}
					for ( int column = 1;column < dsFinanInfo.Tables[0].Columns.Count; column ++)
					{
						switch ( column )
						{
							case 1:		m_objRange = m_objSheet.get_Range(m_objSheet.Cells[rowStart,column],m_objSheet.Cells[rowStart+1,column]);
								m_objRange.MergeCells = true;
								m_objRange.Value = dsFinanInfo.Tables[0].Rows[finanRow][column].ToString();
								m_objRange.Borders.LineStyle = BorderStyle.FixedSingle;
								m_objRange.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;
								m_objRange.VerticalAlignment = Excel.XlHAlign.xlHAlignCenter;
								break;
							case 3:	    m_objRange = m_objSheet.get_Range(m_objSheet.Cells[rowStart,column-1],m_objSheet.Cells[rowStart+1,column-1]);
								m_objRange.MergeCells = true;
								m_objRange.Value = dsFinanInfo.Tables[0].Rows[finanRow][column].ToString();
								m_objRange.Borders.LineStyle = BorderStyle.FixedSingle;
								m_objRange.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;
								m_objRange.VerticalAlignment = Excel.XlHAlign.xlHAlignCenter;
								break;
							case 4:		m_objRange = m_objSheet.get_Range(m_objSheet.Cells[rowStart,column-1],m_objSheet.Cells[rowStart+1,column-1]);
								m_objRange.MergeCells = true;
								m_objRange.Value = dsFinanInfo.Tables[0].Rows[finanRow][column].ToString();
								m_objRange.Borders.LineStyle = BorderStyle.FixedSingle;
								m_objRange.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;
								m_objRange.VerticalAlignment = Excel.XlHAlign.xlHAlignCenter;
								break;
							case 5:		m_objRange = m_objSheet.get_Range(m_objSheet.Cells[rowStart,column-1],m_objSheet.Cells[rowStart,column-1]);
								m_objRange.Value = dsFinanInfo.Tables[0].Rows[finanRow][column].ToString();
								m_objRange.Borders.LineStyle = BorderStyle.FixedSingle;
								m_objRange.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;
								break;
							case 6:		m_objRange = m_objSheet.get_Range(m_objSheet.Cells[rowStart,column-1],m_objSheet.Cells[rowStart,column-1]);
								m_objRange.Value = dsFinanInfo.Tables[0].Rows[finanRow][column].ToString();
								m_objRange.Borders.LineStyle = BorderStyle.FixedSingle;
								m_objRange.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;
								break;
							case 7:		m_objRange = m_objSheet.get_Range(m_objSheet.Cells[rowStart,column-1],m_objSheet.Cells[rowStart,column-1]);
								m_objRange.Value = dsFinanInfo.Tables[0].Rows[finanRow][column].ToString();
								m_objRange.Borders.LineStyle = BorderStyle.FixedSingle;
								m_objRange.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;
								break;
							case 8:		m_objRange = m_objSheet.get_Range(m_objSheet.Cells[rowStart+1,column-4],m_objSheet.Cells[rowStart+1,column-4]);
								m_objRange.Value = dsFinanInfo.Tables[0].Rows[finanRow][column].ToString();
								m_objRange.Borders.LineStyle = BorderStyle.FixedSingle;
								m_objRange.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;
								break;
							case 9:		m_objRange = m_objSheet.get_Range(m_objSheet.Cells[rowStart+1,column-4],m_objSheet.Cells[rowStart+1,column-4]);
								m_objRange.Value = dsFinanInfo.Tables[0].Rows[finanRow][column].ToString();
								m_objRange.Borders.LineStyle = BorderStyle.FixedSingle;
								m_objRange.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;
								break;
							case 10:	m_objRange = m_objSheet.get_Range(m_objSheet.Cells[rowStart+1,column-4],m_objSheet.Cells[rowStart+1,column-4]);
								m_objRange.Value = dsFinanInfo.Tables[0].Rows[finanRow][column].ToString();
								m_objRange.Borders.LineStyle = BorderStyle.FixedSingle;
								m_objRange.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;
								break;
							case 11:	m_objRange = m_objSheet.get_Range(m_objSheet.Cells[rowStart,column-4],m_objSheet.Cells[rowStart,column-4]);
								m_objRange.Value = dsFinanInfo.Tables[0].Rows[finanRow][column].ToString();
								m_objRange.Borders.LineStyle = BorderStyle.FixedSingle;
								m_objRange.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;
								break;
							case 12:	m_objRange = m_objSheet.get_Range(m_objSheet.Cells[rowStart+1,column-5],m_objSheet.Cells[rowStart+1,column-5]);
								m_objRange.Value = dsFinanInfo.Tables[0].Rows[finanRow][column].ToString();
								m_objRange.Borders.LineStyle = BorderStyle.FixedSingle;
								m_objRange.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;
								break;
							case 13:	m_objRange = m_objSheet.get_Range(m_objSheet.Cells[rowStart,column-5],m_objSheet.Cells[rowStart+1,column-5]);
								m_objRange.MergeCells = true;
								m_objRange.Value = dsFinanInfo.Tables[0].Rows[finanRow][column].ToString();
								m_objRange.Borders.LineStyle = BorderStyle.FixedSingle;
								m_objRange.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;
								m_objRange.VerticalAlignment = Excel.XlHAlign.xlHAlignCenter;
								break;
						}
					}
					rowStart += 2;
				}
				SetJumpBoard(rowStart,dsFinanInfo.Tables[0].Rows[dsFinanInfo.Tables[0].Rows.Count-1][2].ToString());
				m_objSheet = (Excel._Worksheet)m_objSheets.get_Item(m_objSheets.Count);
				m_objSheet.Visible = Excel.XlSheetVisibility.xlSheetHidden;

				m_objBook.SaveAs(savePath, m_objOpt, m_objOpt,
					m_objOpt, m_objOpt, m_objOpt, Excel.XlSaveAsAccessMode.xlNoChange,
					m_objOpt, m_objOpt, m_objOpt, m_objOpt);
				m_objBook.Close(false, m_objOpt, m_objOpt);
				m_objExcel.Quit();

				System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objRange);
				System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objSheet);
				System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objSheets);
				System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objBook);
				System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objBooks);
				System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objExcel);
				
			}
			catch(Exception e)
			{
				Util.WriteLog(e.Message,Util.EXCEPTION_LOG_TITLE);
			}
			finally
			{
				m_objRange = null;
				m_objSheet = null;
				m_objSheets = null;
				m_objBook = null;
				m_objBooks = null;
				m_objExcel = null;

				GC.Collect();

				KillProcess();
			}
		}
Example #52
0
        private void Dispose()
        {
            workBook.Close(null, null, null);
            app.Workbooks.Close();
            app.Quit();

            if (range != null)
            {
                System.Runtime.InteropServices.Marshal.ReleaseComObject(range);
                range = null;
            }
            if (range1 != null)
            {
                System.Runtime.InteropServices.Marshal.ReleaseComObject(range1);
                range1 = null;
            }
            if (range2 != null)
            {
                System.Runtime.InteropServices.Marshal.ReleaseComObject(range2);
                range2 = null;
            }
            if (textBox != null)
            {
                System.Runtime.InteropServices.Marshal.ReleaseComObject(textBox);
                textBox = null;
            }
            if (workSheet != null)
            {
                System.Runtime.InteropServices.Marshal.ReleaseComObject(workSheet);
                workSheet = null;
            }
            if (workBook != null)
            {
                System.Runtime.InteropServices.Marshal.ReleaseComObject(workBook);
                workBook = null;
            }
            if (app != null)
            {
                System.Runtime.InteropServices.Marshal.ReleaseComObject(app);
                app = null;
            }

            GC.Collect();

            this.KillExcelProcess();

        }//end Dispose
Example #53
0
        /// <summary>
        /// 构造函数,将一个已有Excel工作簿作为模板,并指定输出路径
        /// </summary>
        /// <param name="templetFilePath">Excel模板文件路径</param>
        /// <param name="outputFilePath">输出Excel文件路径</param>
        public ExcelHelper(string templetFilePath, string outputFilePath)
        {
            if (templetFilePath == null)
                throw new Exception("Excel模板文件路径不能为空!");

            if (outputFilePath == null)
                throw new Exception("输出Excel文件路径不能为空!");

            if (!File.Exists(templetFilePath))
                throw new Exception("指定路径的Excel模板文件不存在!");

            this.templetFile = templetFilePath;
            this.outputFile = outputFilePath;

            //创建一个Application对象并使其可见
            beforeTime = DateTime.Now;
            app = new Excel.ApplicationClass();
            app.Visible = true;
            afterTime = DateTime.Now;

            //打开模板文件,得到WorkBook对象
            workBook = app.Workbooks.Open(templetFile, missing, missing, missing, missing, missing,
                missing, missing, missing, missing, missing, missing, missing);

            //得到WorkSheet对象
            workSheet = (Excel.Worksheet)workBook.Sheets.get_Item(1);

        }
Example #54
0
        /// <summary>
        /// 构造函数,打开一个已有的工作簿
        /// </summary>
        /// <param name="fileName">Excel文件名</param>
        public ExcelHelper(string fileName)
        {
            if (!File.Exists(fileName))
                throw new Exception("指定路径的Excel文件不存在!");

            //创建一个Application对象并使其可见
            beforeTime = DateTime.Now;
            app = new Excel.ApplicationClass();
            app.Visible = true;
            afterTime = DateTime.Now;

            //打开一个WorkBook
            workBook = app.Workbooks.Open(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);

            //得到WorkSheet对象
            workSheet = (Excel.Worksheet)workBook.Sheets.get_Item(1);

        }
Example #55
0
        /// <summary>
        /// 构造函数,新建一个工作簿
        /// </summary>
        public ExcelHelper()
        {
            //创建一个Application对象并使其可见
            beforeTime = DateTime.Now;
            app = new Excel.ApplicationClass();
            //app.Visible = true; 不自动打开
            afterTime = DateTime.Now;

            //新建一个WorkBook
            workBook = app.Workbooks.Add(Type.Missing);

            //得到WorkSheet对象
            workSheet = (Excel.Worksheet)workBook.Sheets.get_Item(1);

        }
Example #56
0
		public void ReadStuInfoXLS(ref DataSet dsStuInfoXls,string getPath,int classNumbers,ref Hashtable className)
		{
			OleDbDataAdapter myAdp = null;
			OleDbConnection oleConn = null;
			string[] sheetName = new string[classNumbers];
			DataTable[] stuInfoXlsTable = new DataTable[classNumbers];

			try
			{
				m_objExcel = new Excel.Application();                 
				m_objBooks = (Excel.Workbooks)m_objExcel.Workbooks;				
				m_objBook = (Excel._Workbook)(m_objBooks.Open(               //打开该文件
					getPath,Type.Missing,Type.Missing,Type.Missing,
					Type.Missing,Type.Missing,Type.Missing,Type.Missing,
					Type.Missing,Type.Missing,Type.Missing,Type.Missing,
					Type.Missing));	                         
				m_objSheets = (Excel.Sheets)m_objBook.Worksheets;
		
				for ( int i=0; i<classNumbers; i++ )
				{
					m_objSheet = (Excel._Worksheet)(m_objSheets.get_Item(i+1));     //记录工作表名称
					sheetName[i] = m_objSheet.Name.Trim();
					className.Add(i,sheetName[i]);
				}
				m_objBooks.Close();

				oleConn = new OleDbConnection(@"provider=Microsoft.Jet.OLEDB.4.0;data source=" + getPath    //打开驱动器
					+ ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1'");
				oleConn.Open();
				
				for ( int i=0; i<classNumbers; i++ )
				{
					stuInfoXlsTable[i] = new DataTable("Table"+i.ToString());
					myAdp = new OleDbDataAdapter("select * from ["+sheetName[i]+"$]", oleConn);	    //获取第一张工作表的内容
					myAdp.Fill(stuInfoXlsTable[i]);
					dsStuInfoXls.Tables.Add(stuInfoXlsTable[i]);
				}

				oleConn.Close();

				System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objSheet);
				System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objSheets);
				System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objBook);
				System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objBooks);
				System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objExcel);
			}
			catch(Exception e)
			{
				Util.WriteLog(e.Message,Util.EXCEPTION_LOG_TITLE);
			}
			finally
			{
				m_objSheet = null;
				m_objSheets = null;
				m_objBook = null;
				m_objBooks = null;
				m_objExcel = null;

				GC.Collect();

				KillProcess();	
			}
		}
Example #57
0
        private void EXCEL_FKMX()
        {
            Excel.Application excel = new Excel.Application();
            excel.Application.Workbooks.Add(true);
            excel.Visible = true;
            excel.get_Range("A1", excel.Cells[2, dataGridView1.Columns.Count]).Merge(false);
            excel.get_Range("A3", excel.Cells[3, dataGridView1.Columns.Count]).Merge(false);
            excel.get_Range("A4", "A6").Merge(false);
            excel.get_Range("B4", "c6").Merge(false);
            excel.get_Range("D4", "G4").Merge(false);
            excel.get_Range("H4", "K4").Merge(false);
            excel.get_Range("L4", "M4").Merge(false);
            excel.get_Range("N4", "Q4").Merge(false);
            excel.get_Range("R4", "S4").Merge(false);
            excel.get_Range("E5", "F5").Merge(false);
            excel.get_Range("I5", "J5").Merge(false);
            excel.get_Range("O5", "P5").Merge(false);
            excel.get_Range("D5", "D6").Merge(false);
            excel.get_Range("G5", "G6").Merge(false);
            excel.get_Range("H5", "H6").Merge(false);
            excel.get_Range("K5", "K6").Merge(false);
            excel.get_Range("L5", "L6").Merge(false);
            excel.get_Range("M5", "M6").Merge(false);
            excel.get_Range("N5", "N6").Merge(false);
            excel.get_Range("Q5", "Q6").Merge(false);
            excel.get_Range("R5", "R6").Merge(false);
            excel.get_Range("S5", "S6").Merge(false);
            excel.get_Range("T4", "T6").Merge(false);
            excel.get_Range("A" + (this.dataGridView1.Rows.Count + 4).ToString(), "B" + (this.dataGridView1.Rows.Count + 6).ToString()).Merge(false);
            //(excel.Cells[1, 1] as Excel.Range).HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;
            //(excel.Cells[3, 1] as Excel.Range).HorizontalAlignment = Excel.XlHAlign.xlHAlignLeft;
            excel.get_Range("A1", "T6").HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;
            excel.get_Range("A3", "A3").HorizontalAlignment = Excel.XlHAlign.xlHAlignLeft;
            //(excel.Cells[5, "m"] as Excel.Range).HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;
            //(excel.Cells[5, "g"] as Excel.Range).HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;
            excel.get_Range("A1", "t6").Font.Bold = true;
            excel.Cells[4, "A"] = "序号";
            excel.Cells[4, "B"] = "合同种类";
            excel.get_Range("A4", "A6").Value = "序号";
            excel.get_Range("B4", "c6").Value = "公司名称";
            excel.get_Range("D4", "G4").Value = "合同总额";
            excel.get_Range("H4", "K4").Value = (this.toolStripComboBox4.Text == "0201:产品销售" ? "已收货款" : "已付货款");
            excel.get_Range("L4", "M4").Value = (this.toolStripComboBox4.Text == "0201:产品销售" ? "未收货款" : "未付货款");
            excel.get_Range("N4", "Q4").Value = (this.toolStripComboBox4.Text == "0201:产品销售" ? "已开发票金额" : "已收发票金额");
            excel.get_Range("R4", "S4").Value = (this.toolStripComboBox4.Text == "0201:产品销售" ? "未开票金额" : "未收票金额");
            excel.get_Range("E5", "F5").Value = "本年";
            excel.get_Range("I5", "J5").Value = "本年";
            excel.get_Range("O5", "P5").Value = "本年";
            excel.get_Range("D5", "D6").Value = "以前年度";
            excel.get_Range("G5", "G6").Value = "总累计";
            excel.get_Range("H5", "H6").Value = "以前年度";
            excel.get_Range("K5", "K6").Value = "总累计";
            excel.get_Range("L5", "L6").Value = "金额";
            excel.get_Range("M5", "M6").Value = "比例";
            excel.get_Range("N5", "N6").Value = "以前年度";
            excel.get_Range("Q5", "Q6").Value = "总累计";
            excel.get_Range("R5", "R6").Value = "金额";
            excel.get_Range("S5", "S6").Value = "比例";
            excel.get_Range("T4", "T6").Value = "备注";
            excel.get_Range("E6", "E6").Value = "本月";
            excel.get_Range("F6", "F6").Value = "本年";
            excel.get_Range("I6", "I6").Value = "本月";
            excel.get_Range("J6", "J6").Value = "本年";
            excel.get_Range("O6", "O6").Value = "本月";
            excel.get_Range("P6", "P6").Value = "本年";
            excel.get_Range("A" + (this.dataGridView1.Rows.Count + 4).ToString(), "B" + (this.dataGridView1.Rows.Count + 4).ToString()).Value = "总计";
            excel.get_Range("c" + (this.dataGridView1.Rows.Count + 4).ToString(), "c" + (this.dataGridView1.Rows.Count + 4).ToString()).Value = "外部";
            excel.get_Range("c" + (this.dataGridView1.Rows.Count + 5).ToString(), "c" + (this.dataGridView1.Rows.Count + 5).ToString()).Value = "内部";
            excel.get_Range("c" + (this.dataGridView1.Rows.Count + 6).ToString(), "c" + (this.dataGridView1.Rows.Count + 6).ToString()).Value = "合计";
            excel.get_Range("a1", "t2").Value = ClassCustom.codeSub1(this.toolStripComboBox4.Text) + "合同总览表";
            excel.get_Range("a3", "a3").Value = this.toolStripComboBox4.Text + "      " + this.toolStripComboBox1.Text + "年" + this.toolStripComboBox2.Text + "月";

            //DataTable dt = DBAdo.DtFillSql("SELECT LID,LNAME FROM ALX WHERE LID LIKE '" + ClassCustom.codeSub(this.toolStripComboBox4.Text) + "__'");
            string str = ClassCustom.codeSub(this.toolStripComboBox4.Text);

            DataTable dt = DBAdo.DtFillSql("SELECT CCODE,CNAME FROM ACLIENTS WHERE  CCODE LIKE '01__'");
            int index = 0;

            for (int i = 0; i < dt.Rows.Count * 2; i++)
            {
                excel.get_Range("B" + (i + 7).ToString(), "B" + (i + 8).ToString()).Merge(false);
                excel.get_Range("B" + (i + 7).ToString(), "B" + (i + 8).ToString()).Value = dt.Rows[index][1].ToString();
                excel.get_Range("A" + (i + 7).ToString(), "A" + (i + 8).ToString()).Merge(false);
                excel.get_Range("A" + (i + 7).ToString(), "A" + (i + 8).ToString()).Value = (index + 1).ToString();
                excel.get_Range("C" + (i + 7).ToString(), "C" + (i + 7).ToString()).Value = "外部";
                excel.get_Range("C" + (i + 8).ToString(), "C" + (i + 8).ToString()).Value = "内部";
                index++;
                i++;
            }

            excel.get_Range("d7", excel.Cells[dataGridView1.Rows.Count + 6, "t"]).NumberFormat = "#,##0.00";
            excel.get_Range("m7", excel.Cells[dataGridView1.Rows.Count + 6, "m"]).NumberFormat = "0%";
            excel.get_Range("s7", excel.Cells[dataGridView1.Rows.Count + 6, "s"]).NumberFormat = "0%";
            //填充数据
            for (int i = 0; i < dataGridView1.RowCount; i++)
            {
                for (int j = 3; j < dataGridView1.ColumnCount; j++)
                {
                    if (dataGridView1[j, i].ValueType == typeof(string))
                    {
                        excel.Cells[i + 7, j + 1] = "'" + dataGridView1[j, i].Value.ToString();
                    }
                    else
                    {
                        excel.Cells[i + 7, j + 1] = dataGridView1[j, i].Value.ToString();
                    }
                }
            }

            excel.get_Range("A1", excel.Cells[dataGridView1.Rows.Count + 6, dataGridView1.Columns.Count]).EntireColumn.AutoFit();
            ClassCustom.DrawExcelBorders(excel, "A4", excel.Cells[dataGridView1.Rows.Count + 6, dataGridView1.Columns.Count]);
            Excel.Worksheet sheet1 = excel.Worksheets[1] as Excel.Worksheet;
            sheet1.PageSetup.PrintTitleRows = "$1:$6";
            //sheet1.PageSetup.PaperSize = Excel.XlPaperSize.xlPaperFanfoldUS;
        }
Example #58
0
		public void ReadUpdateGradeInfo(ref DataTable dtUpdateGradeInfo,string getPath)
		{
			OleDbDataAdapter myAdp = null;
			OleDbConnection oleConn = null;
			try
			{
				m_objExcel = new Excel.Application();                 
				m_objBooks = (Excel.Workbooks)m_objExcel.Workbooks;				
				m_objBook = (Excel._Workbook)(m_objBooks.Open(               //打开该文件
					getPath,Type.Missing,Type.Missing,Type.Missing,
					Type.Missing,Type.Missing,Type.Missing,Type.Missing,
					Type.Missing,Type.Missing,Type.Missing,Type.Missing,
					Type.Missing));	                         
				m_objSheets = (Excel.Sheets)m_objBook.Worksheets;

				oleConn = new OleDbConnection(@"provider=Microsoft.Jet.OLEDB.4.0;data source=" + getPath    //打开驱动器
					+ ";Extended Properties=Excel 8.0");
				oleConn.Open();

				myAdp = new OleDbDataAdapter("select * from [年班升级$]", oleConn);	    //获取第一张工作表的内容
				myAdp.Fill(dtUpdateGradeInfo);

				oleConn.Close();

				System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objSheet);
				System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objSheets);
				System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objBook);
				System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objBooks);
				System.Runtime.InteropServices.Marshal.ReleaseComObject(m_objExcel);
			}
			catch(Exception e)
			{
				Util.WriteLog(e.Message,Util.EXCEPTION_LOG_TITLE);
			}
			finally
			{
				m_objSheet = null;
				m_objSheets = null;
				m_objBook = null;
				m_objBooks = null;
				m_objExcel = null;

				GC.Collect();

				KillProcess();	
			}
		}
Example #59
0
		public void WriteStuCardInfoXLS(DataSet dsStuInfo,string getPath)
		{
			KillProcess();	

			try
			{	
				m_objExcel = new Excel.Application();                 
				m_objBooks = (Excel.Workbooks)m_objExcel.Workbooks;				
				m_objBook = (Excel._Workbook)(m_objBooks.Open(               //打开该文件
					getPath,Type.Missing,Type.Missing,Type.Missing,
					Type.Missing,Type.Missing,Type.Missing,Type.Missing,
					Type.Missing,Type.Missing,Type.Missing,Type.Missing,
					Type.Missing));	                         
				m_objSheets = (Excel.Sheets)m_objBook.Worksheets;

				m_objSheet = (Excel._Worksheet)m_objSheets.get_Item(1);

				object[,] objData = null;
			
				if ( dsStuInfo.Tables[0].Rows.Count > 0 )
				{
					objData = new object[dsStuInfo.Tables[0].Rows.Count,2];

					for ( int i=0; i<dsStuInfo.Tables[0].Rows.Count; i++ )
					{
						objData[i,0] = dsStuInfo.Tables[0].Rows[i][0].ToString();
						objData[i,1] = dsStuInfo.Tables[0].Rows[i][1].ToString();
					}
				}

				m_objRange = m_objSheet.get_Range("A2",m_objOpt);
				m_objRange = m_objRange.get_Resize(dsStuInfo.Tables[0].Rows.Count,2);
				m_objRange.Value = objData;

				m_objRange.VerticalAlignment = Excel.XlVAlign.xlVAlignCenter;
				m_objRange.HorizontalAlignment = Excel.XlHAlign.xlHAlignCenter;
				m_objRange.Font.Size = 10;

				m_objExcel.Visible = true;

			}
			catch(Exception e)
			{
				Util.WriteLog(e.Message,Util.EXCEPTION_LOG_TITLE);
			}
			finally
			{
				m_objSheet = null;
				m_objSheets = null;
				m_objBook = null;
				m_objBooks = null;
				m_objExcel = null;

				GC.Collect();
			}

		}
        /// <summary>
        /// Erzeugt die Listen mit den Objekten aus der Anmeldung.
        /// </summary>
        public void Generate()
        {
            // Variablen initialisieren
            judoka = new List<Judoka>();
            verein = new Verein();

            // Ko-Kriterien
            if (!System.IO.File.Exists(fileName)) return;

            Excel.Application excel = null;
            Excel.Workbook workbook = null;
            Excel.Worksheet worksheet = null;

            try
            {
                // Worksheet Initialisieren
                excel = new Excel.Application();
                workbook = excel.Workbooks.Open(fileName, 0, true, 5, "", "", true, Excel.XlPlatform.xlWindows, "\t", false, false, null, false, false, false);
                worksheet = (Excel.Worksheet)workbook.Sheets.get_Item(1);

                // Verein auslesen
                verein.Name = GetSheetValue(worksheet, "B2");
                verein.Kurzname = GetSheetValue(worksheet, "B2");
                verein.Email = GetSheetValue(worksheet, "B7");
                System.Text.StringBuilder sb = new StringBuilder();
                sb.AppendLine(GetSheetValue(worksheet, "B3"));
                sb.AppendLine(GetSheetValue(worksheet, "B4"));
                sb.AppendLine(GetSheetValue(worksheet, "B5"));
                sb.AppendLine(GetSheetValue(worksheet, "B6"));
                verein.Adresse = sb.ToString();

                // Kämpfer auslesen
                int counter = 1;
                while (HasSheetJudoka(counter, worksheet))
                {
                    Judoka j = new Judoka();
                    j.Vorname = GetSheetValue(worksheet, GetJudokaCell(counter, "C"));
                    j.Nachname = GetSheetValue(worksheet, GetJudokaCell(counter, "B"));
                    try
                    {
                        j.Geburtsdatum = DateTime.FromOADate(double.Parse(GetSheetValue(worksheet, GetJudokaCell(counter, "F"))));
                    }
                    catch (Exception)
                    {
                        j.Geburtsdatum = new DateTime(1900, 1, 1);
                    }

                    j.Gürtel = new Gürtel(GetSheetValue(worksheet, GetJudokaCell(counter, "D")), "9");
                    j.Geschlecht = new Geschlecht(GetSheetValue(worksheet, GetJudokaCell(counter, "E")));
                    j.Verein = verein;

                    judoka.Add(j);
                    counter++;
                }
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                // Excel beenden
                workbook.Close(false, null, 0);
                workbook = null;
                excel.Quit();
                excel = null;
                System.GC.WaitForPendingFinalizers();
            }
        }