https://blog.csdn.net/u014547764/article/details/53818637

1、在jsp中引用excel插件:
首先项目中要有:WebOffice.zip、weboffice_Set.exe这是点聚weboffice的插件

<object id=WebOffice height=400 width='100%' style='LEFT: 0px; TOP: 0px;padding-bottom: 0px;margin-bottom: 0px;'
classid='clsid:E77E049B-23FC-4DB8-B756-60529A35FAD5' codebase='<%=request.getContextPath()%>/tool/ExcelTool/WebOffice.cab'>
<param name='_ExtentX' value='6350'>
<param name='_ExtentY' value='6350'>
</object>
定义一个插件对象
2、添加自定义菜单
<script type="text/javascript">
var showmenu=0;
var showfull=0;
function WebOffice1_NotifyToolBarClick(iIndex){
//添加自定义按钮
webObj.SetCustomToolBtn(0,"打开文档");
//webObj.SetCustomToolBtn(1,"保存文档");
webObj.SetCustomToolBtn(2,"显示菜单");
webObj.SetCustomToolBtn(3,"全屏显示");

if(iIndex==32776){
try{console.log("打开文档");}catch(e){};
try{webObj.LoadOriginalFile("open", "xls");}catch(e){};
}else if(iIndex==32777){
try{console.log("保存文档");}catch(e){};
/* try{webObj.Save();
}catch(e){
alert("异常\r\nError:"+e+"\r\nError Code:"+e.number+"\r\nError Des:"+e.description);
} */
try{webObj.ShowDialog(145);}catch(e){}
}else if(iIndex==32778){
if(showmenu==0){
try{console.log("显示菜单");}catch(e){};
try{webObj.SetCustomToolBtn(2,"隐藏菜单");}catch(e){};
try{webObj.SetToolBarButton2("Menu Bar",1,11);}catch(e){};//03
try{webObj.HideMenuArea('showmenu','','','');}catch(e){};//07
showmenu=1;
}else{
try{console.log("隐藏菜单");}catch(e){};
try{webObj.SetCustomToolBtn(2,"显示菜单");}catch(e){};
try{webObj.SetToolBarButton2("Menu Bar",1,8);}catch(e){};//03
try{webObj.HideMenuArea('hideall','','','');}catch(e){};//07
showmenu=0;
}
}else if(iIndex==32779){
if(showfull==0){
try{console.log("全屏显示");}catch(e){};
try{webObj.SetCustomToolBtn(3,"退出全屏");}catch(e){};
try{webObj.FullScreen = true;}catch(e){};
showfull=1;
}else{
try{console.log("退出全屏");}catch(e){};
try{webObj.SetCustomToolBtn(3,"全屏显示");}catch(e){};
try{webObj.FullScreen = false;}catch(e){};
showfull=0;
}
}
}
//生成Excel
        //createExcel("WebOffice");
        //设置Excel属性
        var webObj =null;
        var SpreadExcel = null;
        var fristname="";
        function onloadexcel() {
            document.body.removeChild(document.getElementById("loading"));
            webObj = document.getElementById("WebOffice");
            webObj.height=document.body.scrollHeight-35;
            //设置默认打开word或者excel
            webObj.LoadOriginalFile("", "xls");
    /*         //隐藏"新建文档"
            webObj.HideMenuItem(0x01);
            //隐藏"打印文档"
            webObj.HideMenuItem(0x10);
            //隐藏"打印预览"
            webObj.HideMenuItem(0x20);
            //设置菜单栏为隐藏状态
            webObj.HideMenuArea('hideall', '', '', ''); */
            
            
          webObj.HideMenuItem(0x01);
          webObj.HideMenuItem(0x02);
          webObj.HideMenuItem(0x04);
          webObj.HideMenuItem(0x10);
          webObj.HideMenuItem(0x20);
          webObj.HideMenuItem(0x4000);
          webObj.HideMenuItem(0x1000);
          webObj.HideMenuArea('hideall','','','');
            
             /*定义按钮(插件只提供了5个按钮)*/
            //添加自定义按钮
            webObj.SetCustomToolBtn(0,"打开文档");
            webObj.SetCustomToolBtn(1,"保存文档");
            webObj.SetCustomToolBtn(2,"显示菜单");
            webObj.SetCustomToolBtn(3,"全屏显示");
            
           //得到office文档对象;
            SpreadExcel = webObj.GetDocumentObject();
</script>

最后在<head>中调用
<script language=javascript event=NotifyToolBarClick(iIndex) for=WebOffice>
WebOffice1_NotifyToolBarClick(iIndex);
</script>

---------------------
作者:春夏秋冬---studio
来源:CSDN
原文:https://blog.csdn.net/u014547764/article/details/53818637
版权声明:本文为博主原创文章,转载请附上博文链接!

3、说明:
这个插件自带的菜单已经可以满足很多需求了,只是我们需要把原先自带的简体改为繁体,所以用到自定义菜单功能。

需要说明的是,点聚中的main.js中的接口,另存为是:webObj.ShowDialog(84),但是我使用后显示的效果却似“设置单元格”,被人告诉我说84是常量值,然后我就从84开始试,到145出现另存为的功能。我本地安装的是2010完全版的office,目前测试了2007的office,其他版本的效果不清楚。
---------------------
作者:春夏秋冬---studio
来源:CSDN
原文:https://blog.csdn.net/u014547764/article/details/53818637
版权声明:本文为博主原创文章,转载请附上博文链接!

效果

点聚weboffice插件自定义菜单的更多相关文章

  1. 使用knockout-sortable实现对自定义菜单的拖拽排序

    在开始之前,照例,我们先看效果和功能实现. 关于自定义菜单的实现,这里就不多说了,需要了解的请访问:http://www.cnblogs.com/codelove/p/4838766.html 这里需 ...

  2. [wordpress]后台自定义菜单字段和使用wordpress color picker

    Wordpress Version 4.4.2 参考链接 插件使用wordpress color picker:Add A New Color Picker To WordPress 后台菜单自定义字 ...

  3. SSMS2008插件开发(4)--自定义菜单

    原文:SSMS2008插件开发(4)--自定义菜单 打开上次的项目MySSMSAddin中的Connect类,发现该类继于了两个接口:IDTExtensibility2和IDTCommandTarge ...

  4. java 微信自定义菜单 java微信接口开发 公众平台 SSM redis shiro 多数据源

    A 调用摄像头拍照,自定义裁剪编辑头像,头像图片色度调节B 集成代码生成器 [正反双向](单表.主表.明细表.树形表,快速开发利器)+快速表单构建器 freemaker模版技术 ,0个代码不用写,生成 ...

  5. java SSM 框架 微信自定义菜单 快递接口 SpringMVC mybatis redis shiro ehcache websocket

    A 调用摄像头拍照,自定义裁剪编辑头像,头像图片色度调节B 集成代码生成器 [正反双向](单表.主表.明细表.树形表,快速开发利器)+快速表单构建器 freemaker模版技术 ,0个代码不用写,生成 ...

  6. ASP.NET MVC5+EF6+EasyUI 后台管理系统(74)-微信公众平台开发-自定义菜单

    系列目录 引言 1.如果不借用Senparc.Weixin SDK自定义菜单,编码起来,工作量是非常之大 2.但是借助SDK似乎一切都是简单得不要不要的 3.自定义菜单无需要建立数据库表 4.自定义菜 ...

  7. [jQuery]jQuery DataTables插件自定义Ajax分页实现

    前言 昨天在博客园的博问上帮一位园友解决了一个问题,我觉得有必要记录一下,万一有人也遇上了呢. 问题描述 园友是做前端的,产品经理要求他使用jQuery DataTables插件显示一个列表,要实现分 ...

  8. 用c#开发微信(5)自定义菜单设置工具 (在线创建)

    读目录 1 使用 2 原理 3. 错误 上次写了<用c#开发微信 (4) 基于Senparc.Weixin框架的接收事件推送处理 (源码下载)>,有园友问到如何创建菜单的问题,今天就介绍下 ...

  9. 《C#微信开发系列(2)-自定义菜单管理》

    2.0自定义菜单管理 ①接口说明 微信服务号聊天窗口下面的菜单项(有的公众号有启用有的则没有),这个可以在编辑模式简单配置,也可以在开发模式代码配置.微信公众平台开发者文档:微信公众号开发平台创建自定 ...

随机推荐

  1. django POST表单的使用

    环境如下:django 1.7.8 版本. 1.在POST表单的时候会出现这个错误提示. 禁止访问 (403) CSRF验证失败. 相应中断. Help Reason given for failur ...

  2. 开发中,android手机WIFI无法使用,无SIM卡故障解决

    用eclipse 开发android中,突然出现,android手机WIFI无法使用,无SIM卡故障解决 发现故障后,想办法刷机(没有成功),触点清洁都搞了. 最后恢复出厂设置居然解决了,留资料给同行 ...

  3. Sketch 和 PS中的设计图如何实现“自动切图”?

    切图是很多UI设计师的一项日常工作.平时做完设计图,要将设计稿切成便于制作成页面的图片,并标注好尺寸和间距,交付给前端来完成html+css布局的静态页面,有利于交互,形成良好的视觉感. 但有的认为前 ...

  4. asio的网络通讯代码练手

    asio的网络基本模板(单例模式 消息队列 ) // MyAsio.cpp: 定义控制台应用程序的入口点. // #include "stdafx.h" #include < ...

  5. Exception 异常 输出的各个方法的区别

    try{ System.out.println(1/0); }catch(Exception e){ //System.out.println(e+""); //对象+字符串 = ...

  6. 1.preparation

    1)Evarobot 安装 http://wiki.ros.org/Robots/evarobot/Tutorials/indigo/Evarobot%20Installation 2)PC 安装 a ...

  7. dedecms首页搜索 添加仿百度下拉框

    1:找到uploads/templets/default/head.htm 2: 找到 <input name="q" type="text"  clas ...

  8. Linux学习笔记:JDK安装

    系统为CentOS 7,安装Oracle jdk1.8 卸载系统自带的Openjdk(若无可跳过这一步,可以通过 java -version 查看),步骤是:查找Openjdk,卸载Openjdk r ...

  9. Python 使用for...in...和 while 循环 实现8种格式的 九九乘法表

    #九九乘法表 for...in .. #左下角 for i in range(1,10): for j in range(1,i+1): print(' %d×%d=%2d'%(j,i,i*j), e ...

  10. python的数字图像处理学习(1)

    导入原有的测试图片,测试图片路径,和一些方法,显示出测试图像,测试图像路径. from skimage import io,data,data_dir img_rgb=data.chelsea() i ...