-1

我使用以下代码在办公应用程序中解析 Word 文档

var currentSlice = currentFile.getSliceAsync(0, function (resultSlice) {
   if (result.status == Office.AsyncResultStatus.Succeeded) {
  //We got the file slice. Now we will encode the data and post to a service
  var documentText = OSF.OUtil.encodeBase64(resultSlice.value);
  // Open the document, which is stored as a base64 string.
  var doc = new openXml.OpenXmlPackage(documentText);
   }
}

这适用于 Word 2013 但以下行

OSF.OUtil.encodeBase64(resultSlice.value);

抛出异常

对象不支持属性或方法 'charCodeAt'

在 Word 2016 上。

关于可能的原因有什么想法吗?

请注意,我使用了来自https://appsforoffice.microsoft.com/lib/1.1/hosted/office.js的最新 Office.js

问候,詹·扎伊布

4

1 回答 1

2

OSF.OUtil.encodeBase64(resultSlice.value); 旨在内部用于 Office.js 消费,它不会像您预期的那样运行。它不仅仅是编码为base64。有许多库(可作为免费软件提供)可以帮助您将 getSliceAsync(二进制流)的结果编码为 base64 编码字符串。

于 2016-03-29T19:34:43.207 回答