小编Ar *_* Es的帖子

获得环境的简洁方法(即Office版)

遗憾的是,Office API的某些功能在所有环境中的行为都不完全相同(例如:Excel Online和Excel 2013中的格式化).此外,Excel 2013中没有一些不错的新功能,但在Excel 2016中可用(Excel.js)

当然,我可以告诉用户他们只能在2016年使用我的应用程序,而不是实现在所有环境中都不完全支持的东西.

我更愿意向Excel 2013的用户提供我的应用程序,即使他们没有办法(或倾向于)升级到2016年.我宁愿优雅地降级我的功能列表在功能较少的环境中,而不是将应用程序的功能限制为整个)

它很容易封装与文档的所有交互,并根据环境运行不同的代码.也就是说,如果我知道我所处的确切环境.当前的office.js是否提供了一种发现主机应用程序的版本和上下文(在线/离线)的简洁方法?我在office.context等等找不到任何东西.

在网上有一些关于黑客攻击整个.getContext链条的建议,但这些似乎是"无证件"的,所以我对此并不满意.

有什么建议?

office365 office-js

7
推荐指数
1
解决办法
2405
查看次数

Office365的加载项:从任务窗格加载项将数据插入Excel工作表

我肯定错过了什么:

[问题]:

我有一个二维数据数组,我想从单元格A1开始插入当前工作表.我还必须格式化这些数据.当前文档可能是空的或不是.我无法控制这一点.

稍后,我需要从文档中删除数据并插入新数据.这组新数据可能具有不同的维度.

使用Office JavaScript Api似乎无法做到这一点.

我尝试使用TableBindings等所有事情都失败了.在许多情况下,应该根据MSDN工作的功能失败,给我一些神秘的错误消息,例如"内部错误"(代码5001)或不支持的绑定操作(3010).我必须使用tablebindings,因为我无法根据MSDN文档将格式应用于其他任何内容.

以下解决方案是不可接受的:

  • 强制用户使用具有预先存在的命名表的特定文档模板
  • 在我的加载项开始工作之前强制用户选择单元格"A1".
  • 在插入数据之前强制用户选择范围.

从可用性的角度来看,所有这些都是噩梦般的解决方案.

可以从命名项创建一个绑定,并通过计算列和行来构建范围,并构建一个类似于"A1:C232"的字符串,但这只能工作一次,因为:

  • 我无法删除数据(是的.在使用这样的命名范围创建的绑定上调用"deleteAllDataValuesAsync"抛出错误3010(即使绑定说它是"表"绑定.. wat?).
  • 我不能用不同大小的数据覆盖它(覆盖错误)
  • 我无法在其上设置格式(是的,它是作为表绑定创建的绑定,是的,我可以调用setFormatAsync函数,它会抛出"内部错误,5001" - > #headdesk

我希望微软的某位读者能够读到这一点并指出我正确的方向.我真的希望!因为我开始担心这实际上是设计的.(在最后几周的斗争之后,我对office.js感到非常沮丧,我很难不咆哮,所以我会在这里停下来......不要让我开始使用ui面料)

excel office-addins office365 office-js

2
推荐指数
1
解决办法
773
查看次数

标签 统计

office-js ×2

office365 ×2

excel ×1

office-addins ×1