Excel指定單元格點擊事件

Excel文檔指定位置填充的時候有一些特殊的需求,好比須要Excel文檔指定的位置只能填入某一類型的數據或者某幾個指定的數據。例如:有用戶的需求是在Excel文件的指定單元格處插入一個日期類型的文本,因此這裏只能輸入日期類型,輸入日期類型就須要日期控件,以防止用戶隨便輸入其餘格式。javascript

爲了實現這樣一些特殊的需求,PageOffice開發出來了Excel單元格點擊事件,點擊單元格時彈出一個模態對話框,在這個對話框中能夠嵌入Html頁面,Html頁面能夠用下拉框,複選框,單選框,日期控件等元素強制用戶只能輸入某一類型的數據或者某幾個數據,而後點擊肯定後將Html頁面元素的值返回到該Excel單元格中。java

JsFunction_OnExcelCellClick屬性的使用

Java代碼:web

poCtrl1.setJsFunction_OnExcelCellClick("OnExcelCellClick()");

ASP.NET代碼:jsp

PageOfficeCtrl1.JsFunction_OnExcelCellClick = "OnExcelCellClick()";

而後在當前前臺HTML代碼裏定義js函數: OnExcelCellClick()函數

<script language="javascript" type="text/javascript">
     function OnExcelCellClick(SheetName, SubmitName, Value, Left, Bottom) {
         if (SubmitName == "ProductName") {
             return "能夠彈出選擇對話框,返回用戶選擇的值。";
         }
     }
 </script>

效果描述:

定義一個 JavaScript 函數響應 OnExcelCellClick 事件。spa

用戶點擊Excel文檔中指定SubmitName的單元格時觸發此事件。 若是您須要響應此事件,您須要在當前 JSP 頁面裏定義一個 JavaScript 函數。code

在 JavaScript 函數裏,能夠經過返回值設置當前Cell的值。orm

示例解析:

Java代碼:blog

PageOfficeCtrl poCtrl = new PageOfficeCtrl(request);
	// 設置響應單元格點擊事件的js函數
    poCtrl.setJsFunction_OnExcelCellClick("OnCellClick()");
    …….
	poCtrl.webOpen("doc/test.xls", OpenModeType.xlsSubmitForm, "張佚名");

ASP.NET代碼:事件

// 設置響應單元格點擊事件的js 函數
    PageOfficeCtrl1.JsFunction_OnExcelCellClick = "OnCellClick()";
    PageOfficeCtrl1.WebOpen("doc/test.xls", PageOffice.OpenModeType.xlsSubmitForm, "操做人姓名");

客戶端的js回調函數響應該事件:

function OnCellClick(Celladdress, value, left, bottom) {
  var i = 0;
  //表格第一列的5個單元格都彈出選擇對話框
  while (i<5) {
      if (Celladdress == "$B$" + (4 + i)) {
          var strRet = document.getElementById("PageOfficeCtrl1").ShowHtmlModalDialog("select.jsp", 
                             "", "left=" + left + "px;top=" + bottom 
                             + "px;width=320px;height=230px;frame=no;");
          if (strRet != "") {
              return (strRet);
          }
          else {
		      if ((value == undefined) || (value == ""))
		          return " ";
		      else
		          return value;
          }
      }
	  i++;
   }
}

示例截圖:

詳細請參考PageOffice開發包中Samples4示例演示:
2、2八、響應Excel單元格點擊事件(專業版、企業版)

相關文章
相關標籤/搜索