【发布时间】:2015-05-21 13:07:22
【问题描述】:
我正在 Excel 中开发一个需要读取当前文档的选项卡窗格应用程序。在 Word 中,Office JavaScript API 具有方法 Office.context.document.getFileAsync(),但在 Excel 中不可用。
我可以用 Office.context.document.getFileProperties() 获取文档的 URL,然后我想我可以用这个来读取文件。
我尝试使用 HTML5 FileReader() 对象,但这仅适用于从文件输入控件中选择的文件。我尝试操作隐藏文件输入控件,使其自动使用当前文档,但出于安全原因,JavaScript 可以理解地阻止您这样做。我可以要求用户浏览到他们当前正在使用的文档,但这会导致用户体验不佳。
所以我尝试使用 ActiveXObject('Scripting.FileSystemObject') 但在选项卡窗格应用程序中根本不允许使用 ActiveX,无论 IE 中当前的安全设置如何。
我还有什么其他选择?
【问题讨论】:
-
您要获取整个文件还是只获取内容?
-
@marcel 我真正需要的是访问自定义属性。由于 Office.js 中没有此选项,我正在尝试加载整个文件,解压缩并读取 custom.xml。
-
您可以使用
Office.context.document.getFilePropertiesAsync([, options], callback);访问属性 -
@marcel 只返回 URI。它似乎是未来功能的占位符。
-
@PaulTDavies 找到解决这个问题的方法了吗?
标签: javascript excel filereader activexobject apps-for-office