Excel js,无法拨打电话

时间:2018-10-23 07:43:22

标签: exceljs

我们正在使用Excel JS开发一个excel插件。用Java编写并部署在wildfy服务器中的服务器代码。

通过excel插件,我无法进行其余调用来检索用户数据。目的是执行登录操作并检索存储在服务器上的excel字节格式并在excel中显示。

有什么建议吗?以下是到目前为止我们尝试过的示例代码。

index.html

<body class="ms-font-m ms-welcome">
<div id="content-header">
    <div class="padding">
        <h1>Welcome</h1>
    </div>
</div>
<div id="content-main">
    <button id="ping-server3" onclick="pingServer2()">Ping server2</button>
    <p id="demo"></p>
    <p id="demo1"></p>
    <button id="ping-server">Ping server</button>
    <p></p> 
    <div class="padding">
        <form>  
        <div class="container">
        <label for="uname"><b>Username</b></label>
        <input id="uname" type="text" placeholder="Enter Username" 
             name="uname" required>

        <label for="psw"><b>Password</b></label>
        <input type="password" placeholder="Enter Password" name="psw" 
             required>

        <button id="login-button" onclick="pingServer2()">Login</button>
        </div>
        <div class="container" style="background-color:#f1f1f1">
            <span class="psw"><a href="#">Need password help?</a></span>
        </div>
        </form>
    </div>
</div>

<script type="text/javascript" src="node_modules/core-js/client/core.js"> 
</script>
<script type="text/javascript" src="node_modules/jquery/dist/jquery.js"> 
</script>
<script type="text/javascript" src="node_modules/office-ui-fabric- 
       js/dist/js/fabric.js"></script>
<script type="text/javascript" src="app.js" ></script>
 <script type="text/javascript" src="utility.js" ></script>
</body>

app.js

(function () { Office.initialize = function (reason) {         $(document).ready(function(){

      if (!Office.context.requirements.isSetSupported('ExcelApi', 1.7)) {
        alert("ERROR");
        console.log('Sorry. The tutorial add-in uses Excel.js APIs that are 
 not available in your version of Office.');
      }
      $('#login-button').click(createTable);
    });
  };


  function createTable() {
      axios({
        method: 'post',
        url: 'http://localhost:8183/x/operation.do?&operationId=LOGIN_USER',
        data: {emailAddress : 'x@xyz.com,password : '123@asdA'}
    })
    .then(response => {
        $('#demo').innerHTML = response.data; 
        content=response.data.uiUser.createdBy;
        $('#demo1').innerHTML = content;
    })
    .catch(error => {
        $('#demo').innerHTML = response.status;
    });

    Excel.run(function (context) {

      const currentWorksheet = 
      context.workbook.worksheets.getActiveWorksheet();
      const expensesTable = currentWorksheet.tables.add("A1:D1", true 
     /*hasHeaders*/);
      expensesTable.name = "ExpensesTable";

      expensesTable.getHeaderRowRange().values = [["Date", "Merchant", 
        "Category", "Amount"]];

      expensesTable.rows.add(null /*add at the end*/, [["1/1/2017", "The 
   Phone Company", "Communications", "120"], ["1/2/2017", "Northwind 
    Electric Cars", "Transportation", "142.33"], ["1/5/2017", "Best For You 
    Organics Company", "Groceries", "27.9"], ["1/10/2017", "Coho Vineyard", 
     "Restaurant", "33"], ["1/11/2017", "Bellows College", "Education", 
     "350.1"], ["1/15/2017", "Trey Research", "Other", "135"], ["1/15/2017", 
     "Best For You Organics Company", "Groceries", "97.88"]]);

      expensesTable.columns.getItemAt(3).getRange().numberFormat = 
     [['€#,##0.00']];
      expensesTable.getRange().format.autofitColumns();
      expensesTable.getRange().format.autofitRows();

      return context.sync();
    }).catch(function (error) {
      console.log("Error: " + error);
      if (error instanceof OfficeExtension.Error) {
        console.log("Debug info: " + JSON.stringify(error.debugInfo));
      }
    });
  }
})

1 个答案:

答案 0 :(得分:1)

您要发布的URL的格式为 http

  

http://localhost:8183/x/operation.do?&operationId=LOGIN_USER

使用 https 部署Excel加载项。 如果使用F12调试器工具检查AddIn,则会看到混合内容错误。

  

混合内容:位于的页面   “ https://Your_AddIn_Url”已通过HTTPS加载,但请求了不安全的资源   'http://localhost:8183/x/operation.do?&operationId=LOGIN_USER'。这个要求有   被封锁;内容必须通过HTTPS提供。

使用https端点应该可以解决您的问题。