c# 清除Excel工作表的所有数据

我写了一个示例方法,在此示例中,检查Excel是否存在sheet表,存在就删除该sheet表。

 	/// <summary>
    /// 判断Excel是否存在sheet表,存在就删除
    /// </summary>
    /// <param name="filePath"></param>
    public void CheckExcel(string filePath)
    {
        Microsoft.Office.Interop.Excel.Application app = new Microsoft.Office.Interop.Excel.Application();
        Microsoft.Office.Interop.Excel.Sheets sheets;
        Microsoft.Office.Interop.Excel.Workbook workbook = null;
        object oMissiong = System.Reflection.Missing.Value;
        try
        {
            workbook = app.Workbooks.Open(filePath, oMissiong, oMissiong, oMissiong, oMissiong, oMissiong, oMissiong, oMissiong, oMissiong, oMissiong, oMissiong, oMissiong, oMissiong, oMissiong, oMissiong);//打开Excel
            sheets = workbook.Worksheets;
            app.DisplayAlerts = false;
            //app.Visible = true;//是否可见Excel
            int sheetCount = workbook.Worksheets.Count;//获得sheet总数
            for (int i = 1; i <= sheetCount; i++)
            {
                Microsoft.Office.Interop.Excel.Worksheet worksheet = (Microsoft.Office.Interop.Excel.Worksheet)sheets.get_Item(i);//读取第一张表
                worksheet.Activate();
                if (worksheet == null)
                    return;
                Microsoft.Office.Interop.Excel.Range range = (Microsoft.Office.Interop.Excel.Range)worksheet.Rows[1, oMissiong];
                range.Delete(Microsoft.Office.Interop.Excel.XlDirection.xlDown);
               
                workbook.Save();
            }
            workbook.Close();
            app.Workbooks.Close();
            app.Quit();
            GcCollect();
        }
        catch (Exception ex)
        {
            return;
        }
        //finally
        //{
        //    System.Diagnostics.Process[] process = System.Diagnostics.Process.GetProcessesByName("wps");//获得wps进程
        //    foreach (System.Diagnostics.Process p in process)
        //    {
        //        p.Kill();结束wps进程
        //    }
        //}
    }
    public void GcCollect()//垃圾收集
    {
        GC.Collect();

        GC.WaitForPendingFinalizers();

        GC.Collect();

        GC.WaitForPendingFinalizers();
    }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值