当前位置:编程学习 > C#/ASP.NET >>

关于C#Excel的,大侠进来帮帮忙啊

以下代码是窗体打开一个Excel后,操作Excel通知消息给winform;
 private void button1_Click(object sender, EventArgs e)
        {
            Microsoft.Office.Interop.Excel.Application ex = new Microsoft.Office.Interop.Excel.Application();
            // Microsoft.Office.Interop.Excel.Workbook exwk = new Microsoft.Office.Interop.Excel.Workbook();


            Microsoft.Office.Interop.Excel.Worksheet exsh = new Microsoft.Office.Interop.Excel.Worksheet();
            ex.Visible = true;
            Microsoft.Office.Interop.Excel.Workbook xbook = ex.Workbooks.Open(@"c:\eagle2.xls", Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value,
                                                        Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value, Missing.Value,
                                                        Missing.Value, Missing.Value, Missing.Value);
            xbook = ex.workbooks[1];
            exsh = (Microsoft.Office.Interop.Excel.Worksheet)xbook.Sheets[3];
            exsh.Activate();
            
            //为对象绑定监视修改的事件
            ex.WorkbookBeforeSave += new Microsoft.Office.Interop.Excel.AppEvents_WorkbookBeforeSaveEventHandler(app_WorkbookBeforeSave);
            ex.WorkbookDeactivate +=new Microsoft.Office.Interop.Excel.AppEvents_WorkbookDeactivateEventHandler(ex_WorkbookDeactivate);
            ex.WorkbookActivate+=new Microsoft.Office.Interop.Excel.AppEvents_WorkbookActivateEventHandler(ex_WorkbookActivate);
          

            
        }

        void ex_WorkbookActivate(Microsoft.Office.Interop.Excel.Workbook Wb)
        {
            //throw new NotImplementedException();
            MessageBox.Show("打开");
        }

        void ex_WorkbookDeactivate(Microsoft.Office.Interop.Excel.Workbook Wb)
        {
            //throw new NotImplementedException();
            MessageBox.Show("关闭");
        }

        void app_WorkbookBeforeSave(Microsoft.Office.Interop.Excel.Workbook Wb, bool SaveAsUI, ref bool Cancel)
        {

            MessageBox.Show("已修改");
        }


关闭那块错的,大家帮帮忙啊
--------------------编程问答-------------------- 难道我人品有问题,没人愿意帮我,还是大家也不会? --------------------编程问答-------------------- rp~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ --------------------编程问答-------------------- dingding~~~~~~~~~~~~~~~~` --------------------编程问答-------------------- upup,难道就没人知道? --------------------编程问答-------------------- 我就纳闷,难道没个高手?! --------------------编程问答-------------------- 不会 --------------------编程问答-------------------- 继续等~~~~~~~~~~~~~~~ --------------------编程问答-------------------- 你是说关闭的是什么的啊   是你实例化的Excel还是 什么啊  如果是的话那你就释放你实力化的就行了   MyExcel.Application.Workbooks.Close();
                    MyExcel.Application.Quit();
                    MyExcel.Quit();
                    System.Runtime.InteropServices.Marshal.ReleaseComObject(MyExcel);
                    GC.Collect(); --------------------编程问答-------------------- 参考:http://blog.csdn.net/gisfarmer/archive/2009/01/10/3738959.aspx --------------------编程问答-------------------- 关闭使用WorkbookBeforeClose事件,我用这个没问题。。。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,