Tag: office js

Excel加载项不会在less数机器中加载

我们build立了一个Excel加载项,允许用户从外部系统导入数据,在Excel表格中修改数据并将其推回到外部系统。 它需要访问浏览器的会话存储,本地存储和索引数据库。 这在大部分的机器加载罚款。 但是我们注意到,在less数机器中,启动时不加载。 我们尝试了各种各样的选项来debugging,但是找不到根本原因。 请注意,要检查它是否与我们的加载项有关,我们尝试加载脚本实验室加载项。 但是,即使这个加载项卡在初始加载页面,它永远不会加载。 以下是面向此用户的Excel和IE版本: Excel版本:16.0.7726.1049 32位 IE版本:11.0.9600.18763更新版本:11.0.45 Excel版本:16.0.7369.2188 IE版本:11.0.1045.10586更新版本:11.0.45 我们检查了与DOM存储相关的IE中的一些设置,启用“允许网站caching和数据库”选项等..但它没有帮助。 有什么在IE设置或在Excel中,我们可以看看是什么造成的?

如何使用Office-js在工作表中的单元格中添加超链接而不使用超链接公式?

我正在使用最新版本的ExcelApi,并能够通过指定以下(简化)代码来添加超链接公式: var firstCellInSelection = ctx.workbook.getSelectedRange().getCell(0, 0); firstCellInSelection.formulas = [['=HYPERLINK("http://www.bing.com")']]; 然而,我想要做的是复制Excel的“插入>链接”function,它只是将超链接添加到单元格中而不使用公式。 (仅供参考,我想这样做的原因是,我想随后使用openXML遍历Excel文件中的所有超链接,但是这不幸排除了=超链接公式…) PS:在WordApi中,我能够使用range.hyperlink做到这一点 。 有没有人有任何想法如何在ExcelApi中获得相同的行为?

Excel API cell.insert需要很长时间才能运行

我试图插入一些行内或以下使用的range从表中。 虽然我在这里的代码显示了一个硬编码的数组,但实际上数据来自服务器应用程序。 我确定在扫描服务器响应之后插入的顺序。 我的代码如下所示: Excel.run(function (ctx) { var rowIdsArray = [1, 2, 3, 4, 5, 6, 7, 8, 9]; //data that might have come from server var sht = ctx.workbook.worksheets.getItem("Sheet1"); for (var i = 50; i > 3; i–) { //I might want these rows to be inserted before rows //3 to 50. So 9 […]

isSetSupportedtesting通过,但API不可用并抛出ApiNotFound错误

根据文档, suspendApiCalculationUntilNextSync方法是Excel API 1.6的一部分。 我目前的设置是一个适用于Mac v15.40的Excel 2016。 当我运行我的项目,下面的testing通过,但作为context.sync()做它的工作,我得到了错误ApiNotFound 。 if (Office.context.requirements.isSetSupported("ExcelApi", 1.6)) { context.workbook.application.suspendApiCalculationUntilNextSync(); } 是suspendApiCalculationUntilNextSync真的从1.6? 此代码与Windows for Excel正常工作。 这里有一个问题,因为Mac和Windows Excel“说”他们支持1.6,但只有Windows版本已经实现了该方法。

重新打开文档(Excel JavaScript API)后,为什么工作表ID更改?

在添加工作表(手动/编程)和下面运行代码后,我的Excel选项卡窗格插件我有工作表对象,其中id是“{040E0F18-0F61-4CD9-886D-95112C925793}”,然后我保存工作簿,closures并再次打开,运行下面的代码,它告诉我,worksheet.id现在是“{00000000-0001-0000-0000-000000000000}”! 在关于工作表id的office.js 参考中 : 即使工作表被重命名或移动,标识符的值也保持不变。 只读。 Excel.run(function (ctx) { var sheet = ctx.workbook.worksheets.getActiveWorksheet().load('name'); return ctx.sync().then(function () { console.log(sheet); }); });

办公室excel做一个CORS请求作为跨域请求

我正在尝试从我的excel插件发出一个跨域请求,正如这里所要求的: http : //dev.office.com/docs/add-ins/develop/addressing-same-origin-policy-limitations 我正在尝试实施Cors请求。 但是,每当我尝试打开我的请求,我得到一个访问被拒绝的错误。 我在这里使用的代码尝试打开一个连接,但是在这里我已经得到了错误 var xhr = new XMLHttpRequest(); xhr.open('GET', 'url'); //this line gives an acces denied error. xhr.onload = function(e) { } xhr.send(); 有人可以告诉我,是否可以在Excel中实现Cors请求? 带有ajax的代码也给出了一个错误对象 $.ajax({ type: 'GET', url: 'remoteurl', cache: true, }, success: function (result) { functionAfterLoad(JSON.parse(JSON.stringify(eval("(" +result + ")")))); }, error: function(result) { console.error('Error while retrieving funnel HTML', result); […]

如何从Javascript Api中编写一个公式,这与用户语言无关?

我做的事: var myTable = new Office.TableData(); ….. var y = []; y.push(…); ….. y.push('=SUM(Test[@[364]:[0]])/365'); y.push(…); ….. myTable.rows.push(y); 然后 binding.addRowsAsync(myTable.rows, function (addResult){….}); 现在一切正常,如果用户在Excel中使用英语。 但是如果他使用德语,那么会出现“#NAME?”,因为在德语SUM中必须是SUMME。 如何从Javascript Api中编写一个公式,即与用户语言无关? 或者可能的问题是:我可以在Excel中用德语作为标准语言(在单元格中)使用英文写一个公式吗? 编辑 : 我将标记迈克尔·兹拉特科夫斯基的答案,因为它正在工作。 但是我没有使用它。 问题是我得到了很多“这个论点是无效的或失踪或格式不正确。” 我在Office开发人员中心论坛上提出了同样的问题,并且build议使用Context.displayLanguage或Context.contentLanguage来查找语言并使用不同的公式。 但是这不能通用。 我现在使用的是在一些表单和一些单元格(隐藏)中写入公式,然后在其他单元格中使用FORMULATEXT来获取正确的公式。 例如,如果在单元格P2中是这个公式: =COUNTIF(Test[@[364]:[0]];"<=0") 在P3中: =FORMULATEXT(P2) 你得到的Excel表格加载后,公式在正确的语言,我在表中直接使用它。 尽pipe公式中的错误被翻译。 这里用德语: =ZÄHLENWENN(Test[@[364]:[0]];"<=0")

如何重新加载Excel自定义函数?

我已成功部署了Excel自定义函数示例,并且可以使用新的JS函数。 在更改customfunctions.js的代码/定义customfunctions.js ,我重新启动了我的Web服务器,启动了Excel,再次从Office加载项页面插入了自定义函数,但仍然获得原始函数。 如果我没有再次插入示例,启动Excel,function仍然知道! 我如何强制Excel删除这样一个加载项,并从头开始重新加载? 示例:示例包含几个自定义函数及其相应的注册: Excel.Script.CustomFunctions["CONTOSO"]["ADD42"] = { … Excel.Script.CustomFunctions["CONTOSO"]["GETTEMPERATURE"] = { … 重命名一个函数,并完全删除另一个函数: Excel.Script.CustomFunctions["CONTOSO"]["ADD42RENAMED"] = { … /* Excel.Script.CustomFunctions["CONTOSO"]["GETTEMPERATURE"] = { … Excel仍然会显示旧的元数据。

Excel JS自定义函数不返回matrix

我想实现一个Excel自定义函数(JavaScript),返回一个stringmatrix。 根据在Excel(预览)中创build自定义函数,在这种情况下,必须将resultDimensionality设置为matrix 。 为了简单起见,我刚刚从文档中复制了这个例子来返回这样一个数组数组: function getstringmatrix () { return [["first","row"],["second","row"],["third","row"]]; } Excel.Script.CustomFunctions["MYFUNCTIONS"]["GETSTRINGMATRIX"] = { call: getstringmatrix, result: { resultType: Excel.CustomFunctionValueType.string, resultDimensionality: Excel.CustomFunctionDimensionality.matrix, }, parameters: [ ], options:{ batch: false, stream: false } }; 当将函数= MYFUNCTIONS.GETSTRINGMATRIX()插入Excel单元格时,该单元格将填充string“first”。 但是预期的第二列和其他两行根本没有填充!

Excel Addin – 如何在桌面版本中触发文档下载

我正在开发一个使用Office JS的Excel加载项,其中用户可以决定从远程服务器API打开文档。 在这种情况下,我需要从服务器API接收文件,并在Excel中打开它。 我已经find了这个答案: 编程方式使用JavaScript办公室api打开Excel文档 所以我看到API不允许这样做,答案build议使用JS触发下载。 所以我添加了一个iframe到插件页面: <iframe id="download" width="1" height="1" style="display:none"></iframe> 并触发文件下载,我正在做: document.getElementById("download").src = downloadURL; 当在线尝试时(Office 365),这是完美的。 但它不是使用桌面版本下载文档。 如何在桌面Excel应用程序中制作解决scheme?