WorkbookEvents Interface
WorkbookEvents_ActivateEventHandler Delegate
WorkbookEvents_AddinInstallEventHandler Delegate
WorkbookEvents_AddinUninstallEventHandler Delegate
WorkbookEvents_AfterXmlExportEventHandler Delegate
WorkbookEvents_AfterXmlImportEventHandler Delegate
WorkbookEvents_BeforeCloseEventHandler Delegate
WorkbookEvents_BeforePrintEventHandler Delegate
WorkbookEvents_BeforeSaveEventHandler Delegate
WorkbookEvents_BeforeXmlExportEventHandler Delegate
WorkbookEvents_BeforeXmlImportEventHandler Delegate
WorkbookEvents_DeactivateEventHandler Delegate
WorkbookEvents_Event Interface
WorkbookEvents_NewSheetEventHandler Delegate
WorkbookEvents_OpenEventHandler Delegate
WorkbookEvents_PivotTableCloseConnectionEventHandler Delegate
WorkbookEvents_PivotTableOpenConnectionEventHandler Delegate
WorkbookEvents_SheetActivateEventHandler Delegate
WorkbookEvents_SheetBeforeDoubleClickEventHandler Delegate
WorkbookEvents_SheetBeforeRightClickEventHandler Delegate
WorkbookEvents_SheetCalculateEventHandler Delegate
WorkbookEvents_SheetChangeEventHandler Delegate
WorkbookEvents_SheetDeactivateEventHandler Delegate
WorkbookEvents_SheetFollowHyperlinkEventHandler Delegate
WorkbookEvents_SheetPivotTableUpdateEventHandler Delegate
WorkbookEvents_SheetSelectionChangeEventHandler Delegate
WorkbookEvents_SinkHelper Class
WorkbookEvents_SyncEventHandler Delegate
WorkbookEvents_WindowActivateEventHandler Delegate
WorkbookEvents_WindowDeactivateEventHandler Delegate
WorkbookEvents_WindowResizeEventHandler Delegate RefreshEvents Interface
RefreshEvents_AfterRefreshEventHandler Delegate
RefreshEvents_BeforeRefreshEventHandler Delegate
RefreshEvents_Event Interface
RefreshEvents_SinkHelper Class OLEObjectEvents_GotFocusEventHandler Delegate
OLEObjectEvents_LostFocusEventHandler Delegate DocEvents_ActivateEventHandler Delegate
DocEvents_BeforeDoubleClickEventHandler Delegate
DocEvents_BeforeRightClickEventHandler Delegate
DocEvents_CalculateEventHandler Delegate
DocEvents_ChangeEventHandler Delegate
DocEvents_DeactivateEventHandler Delegate
DocEvents_Event Interface
DocEvents_FollowHyperlinkEventHandler Delegate
DocEvents_PivotTableUpdateEventHandler Delegate
DocEvents_SelectionChangeEventHandler Delegate ChartEvents_ActivateEventHandler Delegate
ChartEvents_BeforeDoubleClickEventHandler Delegate
ChartEvents_BeforeRightClickEventHandler Delegate
ChartEvents_CalculateEventHandler Delegate
ChartEvents_DeactivateEventHandler Delegate
ChartEvents_DragOverEventHandler Delegate
ChartEvents_DragPlotEventHandler Delegate
ChartEvents_Event Interface
ChartEvents_MouseDownEventHandler Delegate
ChartEvents_MouseMoveEventHandler Delegate
ChartEvents_MouseUpEventHandler Delegate
ChartEvents_ResizeEventHandler Delegate
ChartEvents_SelectEventHandler Delegate
ChartEvents_SeriesChangeEventHandler Delegate using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Excel = Microsoft.Office.Interop.Excel;
using System.Reflection; namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
} private void Form1_Load(object sender, EventArgs e)
{ } private void button1_Click(object sender, EventArgs e)
{
StartExcelAndSinkEvents();
} //Excel Automation variables:
Excel.Application xlApp;
Excel.Workbook xlBook;
Excel.Worksheet xlSheet1, xlSheet2, xlSheet3;
//Excel event delegate variables:
Excel.AppEvents_WorkbookBeforeCloseEventHandler EventDel_BeforeBookClose;
Excel.DocEvents_ChangeEventHandler EventDel_CellsChange;
Excel.DocEvents_BeforeRightClickEventHandler Event_RightClick;
private void StartExcelAndSinkEvents()
{
//Start Excel, and then create a new workbook.
xlApp = new Excel.Application();
xlBook = xlApp.Workbooks.Open(@"C:\Users\Administrator.PC-20150725BXRI\Desktop\新建 Microsoft Excel 工作表.xlsx");//.Add();
xlBook.Windows.get_Item().Caption = "XL Event Test";
xlSheet1 = (Excel.Worksheet)xlBook.Worksheets.get_Item();
xlSheet2 = (Excel.Worksheet)xlBook.Worksheets.get_Item();
xlSheet3 = (Excel.Worksheet)xlBook.Worksheets.get_Item();
xlSheet1.Activate(); //Add an event handler for the WorkbookBeforeClose Event of the
//Application object.
EventDel_BeforeBookClose = new Excel.AppEvents_WorkbookBeforeCloseEventHandler(BeforeBookClose);
xlApp.WorkbookBeforeClose += EventDel_BeforeBookClose; //Add an event handler for the Change event of both worksheet objects.
EventDel_CellsChange = new Excel.DocEvents_ChangeEventHandler(CellsChange);
xlSheet1.Change += EventDel_CellsChange;
xlSheet2.Change += EventDel_CellsChange;
xlSheet3.Change += EventDel_CellsChange; Event_RightClick = new Excel.DocEvents_BeforeRightClickEventHandler(RightChange);
xlSheet1.BeforeRightClick += Event_RightClick;
xlSheet2.BeforeRightClick += Event_RightClick;
xlSheet3.BeforeRightClick += Event_RightClick; //Make Excel visible and give the user control.
xlApp.Visible = true;
xlApp.UserControl = true;
} private void CellsChange(Excel.Range Target)
{
//This is called when any cell on a worksheet is changed.
MessageBox.Show("Delegate: You Changed Cells " + Target.get_Address(Missing.Value, Missing.Value, Excel.XlReferenceStyle.xlA1, Missing.Value, Missing.Value) + " on " + Target.Worksheet.Name);
} private void RightChange(Excel.Range Target, ref bool bl)
{
MessageBox.Show(bl.ToString() + Target.get_Address());
} private void BeforeBookClose(Excel.Workbook Wb, ref bool Cancel)
{
//This is called when you choose to close the workbook in Excel.
//The event handlers are removed, and then the workbook is closed
//without saving the changes.
Wb.Saved = true; MessageBox.Show("Delegate: Closing the workbook and removing event handlers.");
xlSheet1.Change -= EventDel_CellsChange;
xlSheet2.Change -= EventDel_CellsChange;
xlSheet3.Change -= EventDel_CellsChange;
xlApp.WorkbookBeforeClose -= EventDel_BeforeBookClose;
}
}
}

Excel Events的更多相关文章

  1. 用laravel Maatwebsite\Excel 教你导出漂亮的Excel表单

    先来看效果图 还算是漂亮吧 哈哈哈. 第一步当然是安装包咯 环境要求 PHP: ^7.0Laravel: ^5.5 composer require maatwebsite/excel 目前3.1 只 ...

  2. VBA 获取Sheet最大行

    compared all possibilities with a long test sheet: 0,140625 sec for lastrow = calcws.Cells.Find(&quo ...

  3. 基于SXSSF (Streaming Usermodel API)的写文件

    在POI3.8中SXSSF仅仅支持excel2007格式是对XSSF的一种流的扩展.目的在生成excel时候,需要生成大量的数据的时候,通过刷新的方式将excel内存信息刷新到硬盘的方式,提供写入数据 ...

  4. POI解决内存溢出问题

    在POI3.8中SXSSF仅仅支持excel2007格式是对XSSF的一种流的扩展.目的在生成excel时候,需要生成大量的数据的时候,通过刷新的方式将excel内存信息刷新到硬盘的方式,提供写入数据 ...

  5. 浅谈Excel开发:五 Excel RTD函数

        上文介绍了Excel中的UDF函数,本文介绍一下同样重要的RTD函数.从Excel 2002开始,Excel引入了一种新的查看和更新实时数据的机制,即real-time data简称RTD函数 ...

  6. Flex导出excel报表

    sheetToExcel.java 1 package tree; 2 import java.io.BufferedInputStream; 3 import java.io.File; 4 imp ...

  7. js 导出Excel

    最近从Silverlight这边转到javascript过来,现在要导出一个导出excel的功能.上级领导指示当页显示多少数据,就导出多少数据,没有必要从后台在去数据.以前也没有接触过这方面的,在网上 ...

  8. [Flex] as3xls读取excel,修改保存单表(二)

    这个方法仅用了as3xls读取excel的功能,修改保存独立出来了. <?xml version="1.0" encoding="utf-8"?> ...

  9. [Flex] as3xls读取excel,修改保存单表(一)

    经过大神修改过的as3xls支持中文,并可以修改保存单一sheet,保存后原有的excel样式均会消失,目前仅能如此. <?xml version="1.0" encodin ...

随机推荐

  1. sql 获取当天开始时间 结束时间

    2010-06-21 00:00:00.000 SELECT dateadd(ms,0,DATEADD(dd, DATEDIFF(dd,0,getdate()), 0)) 2010-06-21 23: ...

  2. springboot整合mybatis(映射文件方式和注解方式)

    springboot作为一个微服务框架,给我们开发人员提供极大的便利,秉着约定大于配置的原则,通过starter包的形式为我们做了许多默认的配置,在进行数据持久化到关系型数据库时,我们一般都会首选sp ...

  3. Orcale 之子查询

    子查询和连接查询一样,都提供了使用单个查询访问多个表中的数据的方法.子查询在其他查询的基础上,提供一种进一步有效的方式来访问数据. IN 关键字 使用 IN 关键字可以将原表中特定的的值与子查询中返回 ...

  4. unity调用ios原生代码objective-c和回调

    从c#到objective-c学习 https://www.runoob.com/w3cnote/objective-c-tutorial.html https://www.jianshu.com/p ...

  5. MySql的数据查询

    SELECT语句是最常用的查询语句,它的使用方式有些复杂,但功能却相当强大.SELECT语句的基本语法如下: select selection_list//要查询的内容,选择哪些列 from数据表名/ ...

  6. 针对浏览器不支持JavaScript的简单处理

    简单的思路是这样的: 在网页中显示某些内容,作为不支持JS的提示, 然后在页面载人的时候执行一段JS代码,代码的功能就是隐藏那个提示不支持JS的代码 具体内容看例子: <html> < ...

  7. <数据挖掘导论>读书笔记4--其他分类技术

    1.基于规则的分类器 2.最近邻分类器 3.贝叶斯分类器 4.人工神经网络 5.支持向量机 6.组合方法 7.不平衡类问题 8.多类问题

  8. [Mysql高可用]——双主互备+keepalived

    实验架构图    实验环境 主机名 操作系统 Mysql版本 keepalived版本 主机IP VIP lyj1(Master/Slave) Red Hat release 6.5 Mysql5.6 ...

  9. 了解下C#异常时的输出

    Sample Code: try { string re = "1.1".Substring(1,4); } catch (Exception ex) { logger.Error ...

  10. bitbucket 源代码托管

    5个人以下可以免费使用,不限制仓库的数量; 国外的注册需要开启蓝灯FQ; 1.注册账号 maanshancss w1-g1@qq.com;创建仓库; 然后拷贝现有项目 然后提交 然后push; 2.写 ...