欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

pageoffice---Excel指定单元格点击事件

程序员文章站 2022-06-02 23:42:19
...

Excel文档指定位置填充的时候有一些特殊的需求,比如需要Excel文档指定的位置只能填入某一类型的数据或者某几个指定的数据。例如:有用户的需求是在Excel文件的指定单元格处插入一个日期类型的文本,所以这里只能输入日期类型,输入日期类型就需要日期控件,以防止用户随便输入其他格式。

为了实现这样一些特殊的需求,PageOffice开发出来了Excel单元格点击事件,点击单元格时弹出一个模态对话框,在这个对话框中可以嵌入Html页面,Html页面可以用下拉框,复选框,单选框,日期控件等元素强制用户只能输入某一类型的数据或者某几个数据,然后点击确定后将Html页面元素的值返回到该Excel单元格中。

JsFunction_OnExcelCellClick属性的使用


Java代码:

poCtrl1.setJsFunction_OnExcelCellClick("OnExcelCellClick()");

ASP.NET代码:

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 事件。

用户点击Excel文档中指定SubmitName的单元格时触发此事件。 如果您需要响应此事件,您需要在当前 JSP 页面里定义一个 JavaScript 函数。

在 JavaScript 函数里,可以通过返回值设置当前Cell的值。

示例解析:


Java代码:

    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示例演示:
二、28、响应Excel单元格点击事件(专业版、企业版)

pageoffice---Excel指定单元格点击事件
            
    
    博客分类: 收藏转发java操作word 卓正软件在线office