C#中打开Excel并刷新加载宏的方法

来源:互联网 发布:视频下载王 mac 编辑:程序博客网 时间:2024/06/08 20:09

这几天碰到一个打开Excel并刷新其中数据的问题,研究了下,贴出代码分享下!

static void OpenExcelAndRefreshData(bean.ObjectMonitor om,string fileName)
        {
            Excel.Application xApp = null;
            int k = 0;
            try
            {
                xApp = new Excel.ApplicationClass();
                xApp.AskToUpdateLinks = false;
                xApp.DisplayAlerts = false;

                Excel.Workbook xBook = xApp.Workbooks._Open(fileName,
                1, false, Missing.Value, Missing.Value
                , Missing.Value, Missing.Value, Missing.Value, Missing.Value
                , Missing.Value, Missing.Value, Missing.Value, Missing.Value);
                xBook.UpdateLinks = Excel.XlUpdateLinks.xlUpdateLinksAlways;

                xApp.Visible = true;

               //加载宏关键方法
                var addin = xApp.AddIns.Add(@"加载宏的地址");//C:\ProgramData\FCStation\FCExcel.xla
                addin.Installed = true;


                xBook.RefreshAll();//刷新关键方法

                Thread.Sleep(SpaceTime*1000);
                xBook.Save();
                xBook = null;

                IntPtr t = new IntPtr(xApp.Hwnd);
                GetWindowThreadProcessId(t, out k);
            }
            catch (Exception ex)
            {
                string msg = ex.ToString();
            }
            finally
            {
                System.Diagnostics.Process p = System.Diagnostics.Process.GetProcessById(k);
                p.Kill();
            }
        }

原创粉丝点击