1. WorkbookEvents Interface
  2. WorkbookEvents_ActivateEventHandler Delegate
  3. WorkbookEvents_AddinInstallEventHandler Delegate
  4. WorkbookEvents_AddinUninstallEventHandler Delegate
  5. WorkbookEvents_AfterXmlExportEventHandler Delegate
  6. WorkbookEvents_AfterXmlImportEventHandler Delegate
  7. WorkbookEvents_BeforeCloseEventHandler Delegate
  8. WorkbookEvents_BeforePrintEventHandler Delegate
  9. WorkbookEvents_BeforeSaveEventHandler Delegate
  10. WorkbookEvents_BeforeXmlExportEventHandler Delegate
  11. WorkbookEvents_BeforeXmlImportEventHandler Delegate
  12. WorkbookEvents_DeactivateEventHandler Delegate
  13. WorkbookEvents_Event Interface
  14. WorkbookEvents_NewSheetEventHandler Delegate
  15. WorkbookEvents_OpenEventHandler Delegate
  16. WorkbookEvents_PivotTableCloseConnectionEventHandler Delegate
  17. WorkbookEvents_PivotTableOpenConnectionEventHandler Delegate
  18. WorkbookEvents_SheetActivateEventHandler Delegate
  19. WorkbookEvents_SheetBeforeDoubleClickEventHandler Delegate
  20. WorkbookEvents_SheetBeforeRightClickEventHandler Delegate
  21. WorkbookEvents_SheetCalculateEventHandler Delegate
  22. WorkbookEvents_SheetChangeEventHandler Delegate
  23. WorkbookEvents_SheetDeactivateEventHandler Delegate
  24. WorkbookEvents_SheetFollowHyperlinkEventHandler Delegate
  25. WorkbookEvents_SheetPivotTableUpdateEventHandler Delegate
  26. WorkbookEvents_SheetSelectionChangeEventHandler Delegate
  27. WorkbookEvents_SinkHelper Class
  28. WorkbookEvents_SyncEventHandler Delegate
  29. WorkbookEvents_WindowActivateEventHandler Delegate
  30. WorkbookEvents_WindowDeactivateEventHandler Delegate
  31. WorkbookEvents_WindowResizeEventHandler Delegate
  32.  
  33. RefreshEvents Interface
  34. RefreshEvents_AfterRefreshEventHandler Delegate
  35. RefreshEvents_BeforeRefreshEventHandler Delegate
  36. RefreshEvents_Event Interface
  37. RefreshEvents_SinkHelper Class
  38.  
  39. OLEObjectEvents_GotFocusEventHandler Delegate
  40. OLEObjectEvents_LostFocusEventHandler Delegate
  41.  
  42. DocEvents_ActivateEventHandler Delegate
  43. DocEvents_BeforeDoubleClickEventHandler Delegate
  44. DocEvents_BeforeRightClickEventHandler Delegate
  45. DocEvents_CalculateEventHandler Delegate
  46. DocEvents_ChangeEventHandler Delegate
  47. DocEvents_DeactivateEventHandler Delegate
  48. DocEvents_Event Interface
  49. DocEvents_FollowHyperlinkEventHandler Delegate
  50. DocEvents_PivotTableUpdateEventHandler Delegate
  51. DocEvents_SelectionChangeEventHandler Delegate
  52.  
  53. ChartEvents_ActivateEventHandler Delegate
  54. ChartEvents_BeforeDoubleClickEventHandler Delegate
  55. ChartEvents_BeforeRightClickEventHandler Delegate
  56. ChartEvents_CalculateEventHandler Delegate
  57. ChartEvents_DeactivateEventHandler Delegate
  58. ChartEvents_DragOverEventHandler Delegate
  59. ChartEvents_DragPlotEventHandler Delegate
  60. ChartEvents_Event Interface
  61. ChartEvents_MouseDownEventHandler Delegate
  62. ChartEvents_MouseMoveEventHandler Delegate
  63. ChartEvents_MouseUpEventHandler Delegate
  64. ChartEvents_ResizeEventHandler Delegate
  65. ChartEvents_SelectEventHandler Delegate
  66. ChartEvents_SeriesChangeEventHandler Delegate
  67.  
  68. using System;
  69. using System.Collections.Generic;
  70. using System.ComponentModel;
  71. using System.Data;
  72. using System.Drawing;
  73. using System.Linq;
  74. using System.Text;
  75. using System.Windows.Forms;
  76. using Excel = Microsoft.Office.Interop.Excel;
  77. using System.Reflection;
  78.  
  79. namespace WindowsFormsApplication1
  80. {
  81. public partial class Form1 : Form
  82. {
  83. public Form1()
  84. {
  85. InitializeComponent();
  86. }
  87.  
  88. private void Form1_Load(object sender, EventArgs e)
  89. {
  90.  
  91. }
  92.  
  93. private void button1_Click(object sender, EventArgs e)
  94. {
  95. StartExcelAndSinkEvents();
  96. }
  97.  
  98. //Excel Automation variables:
  99. Excel.Application xlApp;
  100. Excel.Workbook xlBook;
  101. Excel.Worksheet xlSheet1, xlSheet2, xlSheet3;
  102. //Excel event delegate variables:
  103. Excel.AppEvents_WorkbookBeforeCloseEventHandler EventDel_BeforeBookClose;
  104. Excel.DocEvents_ChangeEventHandler EventDel_CellsChange;
  105. Excel.DocEvents_BeforeRightClickEventHandler Event_RightClick;
  106. private void StartExcelAndSinkEvents()
  107. {
  108. //Start Excel, and then create a new workbook.
  109. xlApp = new Excel.Application();
  110. xlBook = xlApp.Workbooks.Open(@"C:\Users\Administrator.PC-20150725BXRI\Desktop\新建 Microsoft Excel 工作表.xlsx");//.Add();
  111. xlBook.Windows.get_Item().Caption = "XL Event Test";
  112. xlSheet1 = (Excel.Worksheet)xlBook.Worksheets.get_Item();
  113. xlSheet2 = (Excel.Worksheet)xlBook.Worksheets.get_Item();
  114. xlSheet3 = (Excel.Worksheet)xlBook.Worksheets.get_Item();
  115. xlSheet1.Activate();
  116.  
  117. //Add an event handler for the WorkbookBeforeClose Event of the
  118. //Application object.
  119. EventDel_BeforeBookClose = new Excel.AppEvents_WorkbookBeforeCloseEventHandler(BeforeBookClose);
  120. xlApp.WorkbookBeforeClose += EventDel_BeforeBookClose;
  121.  
  122. //Add an event handler for the Change event of both worksheet objects.
  123. EventDel_CellsChange = new Excel.DocEvents_ChangeEventHandler(CellsChange);
  124. xlSheet1.Change += EventDel_CellsChange;
  125. xlSheet2.Change += EventDel_CellsChange;
  126. xlSheet3.Change += EventDel_CellsChange;
  127.  
  128. Event_RightClick = new Excel.DocEvents_BeforeRightClickEventHandler(RightChange);
  129. xlSheet1.BeforeRightClick += Event_RightClick;
  130. xlSheet2.BeforeRightClick += Event_RightClick;
  131. xlSheet3.BeforeRightClick += Event_RightClick;
  132.  
  133. //Make Excel visible and give the user control.
  134. xlApp.Visible = true;
  135. xlApp.UserControl = true;
  136. }
  137.  
  138. private void CellsChange(Excel.Range Target)
  139. {
  140. //This is called when any cell on a worksheet is changed.
  141. MessageBox.Show("Delegate: You Changed Cells " + Target.get_Address(Missing.Value, Missing.Value, Excel.XlReferenceStyle.xlA1, Missing.Value, Missing.Value) + " on " + Target.Worksheet.Name);
  142. }
  143.  
  144. private void RightChange(Excel.Range Target, ref bool bl)
  145. {
  146. MessageBox.Show(bl.ToString() + Target.get_Address());
  147. }
  148.  
  149. private void BeforeBookClose(Excel.Workbook Wb, ref bool Cancel)
  150. {
  151. //This is called when you choose to close the workbook in Excel.
  152. //The event handlers are removed, and then the workbook is closed
  153. //without saving the changes.
  154. Wb.Saved = true;
  155.  
  156. MessageBox.Show("Delegate: Closing the workbook and removing event handlers.");
  157. xlSheet1.Change -= EventDel_CellsChange;
  158. xlSheet2.Change -= EventDel_CellsChange;
  159. xlSheet3.Change -= EventDel_CellsChange;
  160. xlApp.WorkbookBeforeClose -= EventDel_BeforeBookClose;
  161. }
  162. }
  163. }

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. Java_方法的调用①及案例

    方法调用的语法格式: 类名.方法名称([参数列表]); 调用过程: 案例: class Method01{ /*练习1:使用方法完成,输出5遍HelloWorld 方法语法格式: [修饰符] 返回值类 ...

  2. 【python】-matplotlib.pylab常规用法

    目的: 了解matplotlib.pylab常规用法 示例 import matplotlib.pylab as pl x = range(10) y = [i * i for i in x] pl. ...

  3. 使用AChartEngine画动态曲线图

    AChartEngine是一个开源的Android图表库,可以用来画折线图.平滑折线图.饼图.直方图等等.使用简单,功能强大. AChartEngine官网:http://www.achartengi ...

  4. Oracle PL/SQL编程之函数

    注: 以下测试案例所用的表均来自与scott方案,使用前,请确保该用户解锁. 代码的执行环境是在sqlplus中 1.简介 函数用于返回特定的数据,当建立函数时,函数头部必须包含return子句,而在 ...

  5. Oracle 锁机制

    本文参考自:ORACLE锁机制 1.oracle是一个多用户使用的共享资源,当多个用户并发的操作同一数据行时,那么在oracle数据库中就会存在多个事务操作统一数据行的操作,如果不对并发操作进行控制, ...

  6. Access如何判断字符串从左边第一个数字为5

    步骤如下: 1.打开VBA(ALT+F11)2.右键模块=>插入=>模块3.粘贴以下代码: Public Function CutStr(chkStr As String) As Stri ...

  7. ReSharper+Devexpress 删除光标之后的换行

    echo. >"$(ProjectDir)\Properties\licenses.licx" 官方链接

  8. Asp.Net MVC4通过id更新表单

    用户需求是:一个表单一旦创建完,其中大部分的字段便不可再编辑.只能编辑其中部分字段. 而不可编辑是通过对input输入框设置disabled属性实现的,那么这时候直接向数据库中submit表单中的内容 ...

  9. 三:SSM框架整合思路

    一:jar包 1.spring(包括springmvc) 2.mybatis 3.mybatis-spring整合包 4.数据库驱动 5.第三方连接池 6.json依赖包jackson 二:整合思路 ...

  10. http所有请求头在Console中打印

    1.目标:将http中的请求头全部打印在Console中 2.基本语句 //1.获得指定的头 String header = response.getHeader("User-Agert&q ...