zoukankan      html  css  js  c++  java
  • Excel c#Excel工作进程的创建写 与Excel文件的保存[原创] (20100205 11:09)

    Excel工作进程的创建写结束

    创建:

         Microsoft.Office.Interop.Excel.ApplicationClass oExcel = new Microsoft.Office.Interop.Excel.ApplicationClass();
               Microsoft.Office.Interop.Excel.Workbook obook = null;
               Microsoft.Office.Interop.Excel.Worksheet oSheet = null;
               Microsoft.Office.Interop.Excel.Range range = null;

    结束:

    方法一:用托管方法

     System.Runtime.InteropServices.Marshal.ReleaseComObject(range);
                   System.Runtime.InteropServices.Marshal.ReleaseComObject(oSheet);
                   System.Runtime.InteropServices.Marshal.ReleaseComObject(obook);

                   oExcel.Quit();
                   System.Runtime.InteropServices.Marshal.ReleaseComObject(oExcel);

                   GC.Collect();

    方法二:

     excelApp.Workbooks.Close();
                        oExcel.Quit();
                        int generation = System.GC.GetGeneration(oExcel);
                        System.GC.Collect(generation);

    方法三:

       /// <summary>
            /// 销毁进程
            /// </summary>
            /// <param name="datetime">销毁进程的时间</param>
            /// <returns></returns>
            private bool KillExcelProcess(DateTime datetime)
            {
                try
                {
                    System.Diagnostics.Process[] excelProc = System.Diagnostics.Process.GetProcessesByName("EXCEL");
                    for (int m = 0; m < excelProc.Length; m++)
                    {
                        if (datetime < excelProc[m].StartTime)
                        {
                            excelProc[m].Kill();
                        }

                    }
                    return true;
                }
                catch (Exception ex)
                {
                    strError = "销毁进程出错:" + ex.Message;
                    return false ;
                }
            }

     

    保存并替换原来单页Excel文件

     Application excelApp = new Microsoft.Office.Interop.Excel.ApplicationClass();
                    excelApp.DisplayAlerts = true;
                    excelApp.SheetsInNewWorkbook = 1;
                    Workbook excelBook = excelApp.Workbooks.Add(Type.Missing );
                    Worksheet excelSheet = (Microsoft.Office.Interop.Excel.Worksheet)excelBook.ActiveSheet;

     excelBook.Saved = true;
                    excelBook.SaveCopyAs(strExcelFileName);

  • 相关阅读:
    【LOJ #6397】【THUPC2018】—蛋糕 / Cake(DFS)
    【Atcoder Regular Contest 072F】—Dam(单调队列)
    【Atcoder Regular Contest 072F】—Dam(单调队列)
    多测师讲解自动化测试 _RF封装_(三层模式)高级讲师肖sir
    多测师讲解自动化测试 _RF关键字001_( 中)_高级讲师肖sir
    多测师讲解自动化测试 _RF分配id_高级讲师肖sir
    多测师讲解自动化--rf关键字--断言(下)_高级讲师肖sir
    多测师讲解自动化测试 _RF关键字001_(上)_高级讲师肖sir
    多测师讲解自动化测试 _RF模拟鼠标悬停_高级讲师肖sir
    多测师讲解自动化测试 _RF定位iframe框_高级讲师肖sir
  • 原文地址:https://www.cnblogs.com/heling/p/1664401.html
Copyright © 2011-2022 走看看