JavaScript API 不适用于 Excel 2013?

2023-12-29

我刚刚收到了针对我提交的一个加载项的更改建议报告。它说Your add-in is not working in the Excel 2013 client on Windows 7 with Internet Explorer 11.

我一直在测试我的加载项Excel 2016 and Excel Online。所以我刚刚安装了Excel 2013(版本15.0.4841.1000, 包括SP1 https://support.microsoft.com/en-us/kb/2817430),确实该加载项不起作用。但似乎没什么作用......

例如,下面的示例函数写入haha在细胞中A1 under Excel Online,然而,它没有任何作用Excel 2013.

function test () {
    Excel.run(function (ctx) {
        var range = ctx.workbook.worksheets.getItem("Sheet1").getRange("A1");
        range.values = [["haha"]];
        return ctx.sync();
    });
}

那么有谁知道 JavaScript API 是否支持Excel 2013?如果没有,许多专业人士将无法使用加载项,因为他们仍然使用Excel 2013...

PS:我看到办公商店需要很多插件Excel 2013 or later or Excel 2013 Service Pack 1 or later。如果 JavaScript API 不支持Excel 2013,如何拥有这些插件(例如,)已开发?

Edit 1:在我的清单 xml 中:

<?xml version="1.0" encoding="UTF-8"?>
<OfficeApp xmlns="http://schemas.microsoft.com/office/appforoffice/1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bt="http://schemas.microsoft.com/office/officeappbasictypes/1.0" xmlns:ov="http://schemas.microsoft.com/office/taskpaneappversionoverrides" xsi:type="TaskPaneApp">

In my Home.html, 我有:

<script src="https://appsforoffice.microsoft.com/lib/1/hosted/office.js"></script>

Edit 2:我想以下设置相当于说该加载项不应该用于Excel 2013?

<Hosts>
  <Host Name="Workbook" />
</Hosts>
<Requirements>
  <Sets>
    <Set Name="ExcelApi" MinVersion="1.2"/>
  </Sets>
</Requirements>
<DefaultSettings>
  ...
</DefaultSettings>

当您使用 Office.js API 时,您将看到每个方法都带有 API 集名称注释。例如:

这些 API 集与加载项适用的 Office 版本相对应。要求集列表及其支持位置可以在以下位置找到:http://dev.office.com/reference/add-ins/office-add-in-requirement-sets http://dev.office.com/reference/add-ins/office-add-in-requirement-sets.

任何新的 Office 2016 主机特定 API 集(ExcelApi、WordApi 等)onlyExcel 2016+(以及 Office Online 和 Mac/iOS 等效版本)受支持。 API 版本号(1.1 vs. 1.2 vs. 1.3)对应于 API 的更新,这些更新是在 Office 2016 的 RTM 版本之后添加的(随1.1盒子外面)。这些更新可供拥有 Office 365 订阅(家庭或企业)的客户使用。购买 Office 2016 磁盘/MSI 产品的客户将仅拥有原始版本1.1 APIs.

您可以通过两种方式使用需求集。如果您的外接程序 100% 依赖于特定 API 集,则应将其列在清单文件中。这样,对于不支持该特定 API 集的 Office 版本,“插入/管理加载项”对话框中甚至不会提供该加载项。

另一方面,如果您只使用集合中的几个 API,并且可以不用(即使体验有点下降),则可以执行“点亮场景”。也就是说,您将列出您可能使用的最低版本do需要,然后使用运行时检查来检测特定 API 集是否可用。

具体示例:假设您有一个 Excel 插件,它创建一个新工作表并将数据输出到表中。这需要ExcelApi 1.1版本或更高版本。理想情况下你会also希望能够设置列宽,但是range.format.columnWidth仅适用于ExcelApi 1.2。你不想block如果客户使用旧版本,则不要使用您的加载项 - 毕竟,您的大部分功能仍然可以工作,即使不是最佳状态 - 但您确实希望使用新的 API。在这种情况下,您应该指定ExcelApi 1.1在您的清单中,然后在 JavaScript 中进行运行时检查以确定是否可以运行range.format.columnWidth代码。 IE。:

if (Office.context.requirements.isSetSupported("ExcelApi", 1.2 )
{
   range.format.columnWidth = 25;
}

相关答案请参见获取环境的巧妙方法(即 Office 版本) https://stackoverflow.com/questions/32840459/neat-ways-to-get-environment-i-e-office-version/32851938#32851938

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JavaScript API 不适用于 Excel 2013? 的相关文章

随机推荐

  • vb.net 无法 Console.SetWindowPosition

    我正在 VB NET 中创建 Windows 控制台应用程序 但无法设置相对于屏幕的窗口位置 简而言之 我想要一个使窗口居中于屏幕的功能 我尝试过使用Console SetWindowPosition w h 方法和Console Wind
  • Excel VBA 对象构造函数和析构函数

    我需要在 VBA 中创建一些需要相互引用的自定义对象 但我遇到了一些问题 首先 VBA 中的对象构造函数如何工作 有构造函数吗 第二 有析构函数吗 VBA 如何处理对象生命周期的结束 如果我有一个引用其他对象的对象 这是它们唯一的引用 那么
  • javascript onmouseout 应用于由孩子触发的 div

    我无法通过谷歌找到解决方案 但我认为这将是一个相当常见的问题 我有一个 div 我已经应用了 onmouseout 事件处理程序 该处理程序用于使用 jquerys slideup 函数滚动菜单 因为我希望鼠标离开时隐藏菜单 问题是该 di
  • 检查 Service Worker 中的窗口是否处于活动状态

    我正在尝试运行一个在窗口处于非活动状态时发送推送通知的 Web 应用程序 为此 我有一个 Service Worker 来帮助接收来自我的 php 服务器的通知 通过 Firebase 但是 我不确定如何通过我的服务工作人员检查窗口是否处于
  • 替换 Google App Engine (GAE) 中的 PIL (ImageDraw) 功能

    因此 Google App Engine 看起来不会包含 Python 图像库 有一个图片API http code google com appengine docs python images 但它微不足道 不足以满足我的需要 我想知道
  • Android 互联网连接检查问题

    我是 Android 开发新手 正在开发一个 Android 应用程序 该应用程序需要手机通过 Wifi EDGE 或 3G 连接到互联网 这是我用来检查互联网连接是否可用的代码 public static boolean isConnec
  • 在文件系统中移动该类后,出现“Class XXX 不是有效实体或映射的超类”

    我在 Aib PlatformBundle Entity User php 中有一个实体类 我尝试通过以下方式创建其表单类没有任何问题 php 应用程序 控制台学说 生成 表单 AibPlatformBundle 用户 现在我已将命名空间更
  • 如何获取文本的子串?

    我的文本长度约为 700 我怎样才能只得到大约 30 个前字符 如果你的文字在your text变量 您可以使用 your text 0 29
  • 在 jQuery 中将 JSON 数组转换为 HTML 表

    有没有一种非常简单的方法可以获取 JSON 对象数组并将其转换为 HTML 表 不包括一些字段 或者我必须手动执行此操作 使用 jQuery 将使这变得更简单 以下代码将获取一个数组数组并将它们存储转换为行和单元格 getJSON url
  • 泽西岛 URL 转发

    在 Jersey REST 方法中 我想转发到另一个网站 我怎样才能做到这一点 Path public class News GET Produces MediaType TEXT HTML Path go news id public S
  • 如何基于通用类型“T”初始化 TypeORM 存储库?

    我想启动一个基于通用类型的 TypeORM 存储库 例如 import Connection Repository from typeorm export class GenericService
  • 输入类型数字“仅数字值”验证

    我如何验证输入type number 仅当值是数字或 null 时才有效 仅使用响应式表单 无指令 仅数字 0 9 和 允许 不允许有 e 或任何其他字符 到目前为止我尝试过的 模板
  • 修改linux内核定时器

    我必须运行延迟敏感的应用程序 并且被要求将计时器分辨率更改为 1000 Hz 或更高 我在网上搜索了一下 找到了有关 CONFIG HZ 等的页面 但是 文件中似乎还有其他几个相关设置 因此我想确保不会弄乱这些设置 我在这里发布一些输出 c
  • C++:指向 std::string 转换的 char 指针是否复制内容?

    当我转换一个char to std string使用构造函数 char ps Hello std string str ps 我知道 std 容器在被要求存储值时倾向于复制值 是复制整个字符串还是仅复制指针 如果之后我这样做str Bye
  • 包“com.sun.webkit.dom”在模块“javafx.web”中声明,该模块不会将其导出到模块

    试图从Java 8 to Java 9 我得到这个错误 包 com sun webkit dom 在模块 javafx web 中声明 其中 不将其导出到模块 我该如何解决这个问题 以便预编译器 Intellij 和运行时我不明白这个问题
  • 语法平衡问题

    是否可以强制灵气提升以这种方式表现 生成的语法可以根据一些运行时可计算的条件 规则 速率进行调整 例如 输入由语言结构组成 这会在解析过程中导致不同的选择 有些更频繁 另一些则更少 但替代方案的顺序会影响效率 即语法的运行时最优性 在某些情
  • 上标和下标有 Ansi 转义序列吗?

    我正在玩弄 ANSI 转义序列 例如 echo e e 91mHello e m 在 Linux 控制台上显示彩色文本 现在我尝试使用上标和下标输出 例如a b I read here http www inwap com pdp10 an
  • Jackson JSON 和 Hibernate JPA 的无限递归问题(又一个)

    我找到了大量这方面的资源 例如这个 Jackson JSON 和 Hibernate JPA 问题的无限递归 https stackoverflow com questions 3325387 infinite recursion with
  • 使用 asp.net mvc 用逗号分隔数字

    我正在开发 MVC2 应用程序 我使用数据注释来验证数据 客户端和服务器端 我的模型中有几个字段只允许十进制值 一旦用户输入十进制值 我希望将其转换为逗号分隔的更易读的格式 例如 1200 应格式化为 1 200 而 500 应保持原样 这
  • JavaScript API 不适用于 Excel 2013?

    我刚刚收到了针对我提交的一个加载项的更改建议报告 它说Your add in is not working in the Excel 2013 client on Windows 7 with Internet Explorer 11 我一