美文网首页
金格iweboffice2015使用

金格iweboffice2015使用

作者: 银角大王__ | 来源:发表于2020-12-16 15:46 被阅读0次
    # 依赖从金格官网下载 http://www.goldgrid.com/jinge_download/index.aspx?num=5
    
    
    <!DOCTYPE html>
    <html lang="zn">
    
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
        <script src="WebOffice.js"></script>  <!-- 需要引入依赖 -->
        <script src="https://cdn.bootcdn.net/ajax/libs/jquery/1.11.2/jquery.js"></script>
        <script type="text/javascript">
            /* 创建对象 */
            var WebOfficeObj = new WebOffice2015(); //创建WebOffice对象
            /* 初始化 */
            function Load() {
                WebOfficeObj.ServerUrl = "";
                WebOfficeObj.UserName = "演示人";
                WebOfficeObj.FileName = "新建文件.doc";
                WebOfficeObj.FileType = ".doc";             //FileType:文档类型  .doc  .xls
                WebOfficeObj.EditType = "1";                //设置加载文档类型 0 锁定文档,1无痕迹模式,2带痕迹模式
                //WebOfficeObj.RecordID = "123456789";   // //文档存数据库id,唯一标识
                //WebOfficeObj.FileName = "sample.xlsx";
                //WebOfficeObj.FileType = ".xlsx";             //FileType:文档类型  .doc  .xls
                //WebOfficeObj.DataBase = "MYSQL"; //启用数据库打开保存数据 MYSQL/ORACLE
                WebOfficeObj.ShowWindow = true;             //true显示进度条//false隐藏进度条
                WebOfficeObj.obj.Style.ShowOpenProgress = true; //开启、关闭打开文档时的进度条
                WebOfficeObj.obj.WebCreateProcess();          //创建空进程避免打开慢
                WebOfficeObj.ShowMenu = 1;
                WebOfficeObj.ShowToolBar = 1;
                // WebOfficeObj.SetCaption(WebOfficeObj.UserName + "正在编辑文档");
                SetGraySkin();          //设置控件皮肤
                if (browser == "chrome") {
                    // 下载文件时访问OfficeServer与其他网页页面session保持一致的说明 (开始)
                    // 为了让/OfficeServer这个Servlet和浏览器的其他页面保持session一致,需要在访问OfficeServer之前把其他页面的cookie发送到服务端去,通过调用
                    // INetSetCookie方法,参数是服务器url和cookie值
                    var MyCookie = "JSESSIONID=" + "<%=mSessionID%>";
                    WebOfficeObj.INetSetCookie(WebOfficeObj.ServerUrl, MyCookie);
                    //WebOfficeObj.INetSetCookie(WebOfficeObj.ServerUrl, document.cookie); 
                    // 但如果浏览器设置了禁止cookie,那么document.cookie则获取不到有效cookie值,这时候可以通过在客户端创建一个
                    // 跟cookie内容值一样的字符串,再把这个字符串当成cookie发送给服务器,也能实现session保持一致
                    // 创建的字符串是这样的形式:JSESSIONID=XXXXXXXXXXXXXXXXXXXXXX,
                    // XXXX...XXX是服务端的sessionid,可以通过jsp变量的形式发送给客户端
                    // varMyCookie = "JSESSIONID=" + "<%=mSessionID%>"; 
                    // WebOfficeObj.INetSetCookie(WebOfficeObj.ServerUrl, varMyCookie); 
                    // 下载文件时访问OfficeServer与其他网页页面session保持一致的说明 (结束)
                }
                if (WebOfficeObj.WebOpen()) {
                    alert(WebOfficeObj.Status);
                }
    
    
            }
            /* 创建文件 */
            function createFiles() {
                WebOfficeObj.CreateFile();
                WebOfficeObj.ShowMenuBar(1);  //控制菜单栏是否可以显示
                WebOfficeObj.NewShowToolBar(1); //控制Office工具栏和自定义工具栏
            }
            /* 通过url打开文件 */
            function openUrl() {
                WebOfficeObj.WebOpen3(url)
            }
            /* 保存文档到服务器 */
            function SaveDocument() {
                var files = WebOfficeObj.WebSave2() // 可以从WebOffice.js WebSave2()方法中取到文件对象(myfff) 再做进一步上传处理
    
              /*     以下为WebOffice.js WebSave2()方法修改
              this.WebSave2 = function (callback) {
                    var rands = Math.round(Math.random() * 1000000);
                    var fileUpPathName = this.getFilePath() + rands + this.FileName;
                    //alert(fileUpPathName);
                    var mSaveResult = this.WebSaveLocalFile(fileUpPathName);
                    if (!(mSaveResult == 0)) {
                        this.Status = "保存本地文档失败!错误代码为:" + mSaveResult;
                        return false;
                    }
                    else {
                        //          alert("文档没有内容,是否确定保存");
                    }
    
                    var jsWebOffice = this;
                    var officeobj = this.obj;
                    var filename = this.FileName;
    
                    var base64file = officeobj.File2Base64Text(fileUpPathName);
                    var formData = new FormData();
    
                    var timestamp1 = new Date().getTime();
                    var myfff = base64toBlob(base64file);
    
                    var timestamp2 = new Date().getTime();
    
                    //alert(myfff);
                    formData.append("FileData", myfff, "myFileName");
                    var aaa = '${pageContext.request.contextPath}';
    
                    var strUrl = jsWebOffice.WebUrl + '/AJAXServer?OPTION=MultiPartUpload&FILENAME=' + filename;
    
                    // $.ajax({
                    //     //url:  '${pageContext.request.contextPath}/AJAXServer?OPTION=MultiPartUpload',
                    //  url: strUrl,
                    //     type: "POST",
                    //     data: formData,
                    //     contentType: false,
                    //     cache: false,
                    //     processData: false,
                    //     xhr: function(){ //这是关键 获取原生的xhr对象 做以前做的所有事情
                    //      console.log("xhr function");
                    //      var xhr = jQuery.ajaxSettings.xhr();
                    //      console.log(xhr);
                    //      xhr.upload.onprogress = function (evt)
                    //      {
                    //          if (evt.lengthComputable)
                    //          {
                    //              var percentComplete = evt.loaded / evt.total;
                    //              console.log(percentComplete);
                    //              //callback(0);
                    //          }
                    //      }
                    //      return xhr;
                    //  },
                    //     success: function(data, textStatus) {
                    //      console.log('success');
                    //      console.log('textStatus: ' + textStatus);
                    //         console.log('data: ' + data);
                    //         callback(0);
                    //     },
                    //     error: function(XMLHttpRequest, textStatus, errorThrown)
                    //     {
                    //      console.log('essor');
                    //      console.log(XMLHttpRequest);
                    //      console.log('textStatus: ' + textStatus);
                    //      console.log('errorThrown: ' + errorThrown);
                    //      callback(1);
                    //     }
                    // });
                    return myfff;
                } */
    
    
            }
    
            window.onload = function () {
                WebOfficeObj.setObj(document.getElementById('WebOffice2015'));//给2015对象赋值
                Load();//避免页面加载完,控件还没有加载情况
            }
    
        </script>
    
    </head>
    
    <body>
    
    
    
        <div style="width: 100%; height: 100%">
            <div style="width: 100%;">
    
                <input type=button value="保存文档到服务器" onclick="SaveDocument();">
                <input type=button value="打开本地文档(有窗口)" onclick="WebOfficeObj.WebOpenLocal()">
                <input type=button value="保存本地文档(有窗口)" onclick="WebOfficeObj.WebSaveLocal()">
                <input type=button value="通过url打开文件" onclick="openUrl">
                <input type="button" value="新建文件" onclick="createFiles()">
    
            </div>
          
            <div id="OfficeDiv" style="width: 100%; height: 80vh;">
                <script src="iWebOffice2015.js"></script>
                 <!-- 需要引入依赖 -->
            </div>
        </div>
    </body>
    
    </html>
    

    相关文章

      网友评论

          本文标题:金格iweboffice2015使用

          本文链接:https://www.haomeiwen.com/subject/yazngktx.html