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. 在 Ubuntu 上使用微信客户端

    原文地址: http://www.myzaker.com/article/5979115d1bc8e08c30000071/ 在这个快速信息交互时代,无论是工作还是生活,都需要频繁的网络社交,而在中国 ...

  2. nginx域名转发 负载均衡 反向代理

    公司有三台机器在机房,因为IP不够用,肯定要分出来,所以要建立单IP 多域名的反向代理, 就是当请求www.abc.com 跳转到本机, 请求www.bbc.com 跳转到192.168.0.35 机 ...

  3. proguard-rules.pro、混淆、导jar包

    前记: 买了一个<精通Android Studio>本来最想看的是关于混淆导jar包的,哪知道没有,有点小失望. 好吧,自己来. 在用Android Studio开发的时候,把minify ...

  4. .net判断当前时间是否在工作时间段内

    整理代码,判断当前时间是否在配置的工作时间段内,代码如下: public static bool getTimeSpan(string _strWorkingDayAM, string _strWor ...

  5. ListView嵌套 EditText的光标不显示

    ListView嵌套EditView,有可能会出现了下面现象: 点击EditView,EditView获取焦点后,有可能光标不显示,也有可能光标不闪烁.点击多次后,光标才正常显示. 获取焦点后,edi ...

  6. 火狐 debug 看向后台传递的信息

    自己做前端和后台开发,最重要的是数据交换,知道了数据是怎么传的,传到哪里,传的什么,就能很容易的开发. 火狐看传递参数的信息在debug里面,详情如图: 我的后台的C# 的webservice,接收起 ...

  7. Java语法基础课 原码 反码 补码

    原码就是符号位加上真值的绝对值, 即用第一位表示符号, 其余位表示值. 反码的表示方法是:正数的反码是其本身:负数的反码是在其原码的基础上, 符号位不变,其余各个位取反. 补码的表示方法是在反码的基础 ...

  8. swift -基础语法

    /**         * 1.变量         */        let count1 = 11;        print(count1);                var count ...

  9. python 函数学习sys.argv[]

    sys.argv 参数 「argv」是「argument variable」参数变量的简写形式,一般在命令行调用的时候由系统传递给程序.这个变量其实是一个List列表,argv[0] 一般是“被调用的 ...

  10. 2018.10.27 bzoj1984: 月下“毛景树”(树链剖分)

    传送门 唉蒟蒻又退化了,这道sb题居然做了20min,最后发现是updcovupdcovupdcov写成了updaddupdaddupdadd我还能说什么233233233 就是让你转边权为点权之后, ...