无法使用 Office js Excel API 在 Excel 中加载超过 12000 行的单元格值

Couldn't load cell value for more than 12000 rows in Excel using Office js Excel API

我们使用 office js API 创建了一个 Excel 插件。在我们的扩展中,我们有一个模块,我们从 excel sheet 获取数据,然后处理它。该实现工作正常高达 12000 行,之后 API returns 500 内部服务器错误。我试图找出 excel 范围 API 的限制,但找不到任何合适的链接。请在下面找到参考代码。

await Excel.run(async context => {
          let sheet;
          sheet = context.workbook.worksheets.getItem('Sheet 1');
          let range = sheet.getRange('A1:O12000');
  ​        range.load("values");
          await context.sync();
          console.log("Excel data", range.values);
}

如果有任何限制,谁能告诉我。我确实有一个工作思路,即将范围拆分为 12000 行的块并加载数据。但仍然只是想确定 API 是否有数据大小限制。提前谢谢你。

当我向我的代码添加 try catch 时,我发现我的 catch 块中出现以下错误。 ( 当范围是 A1:O13000 )

await Excel.run(async context => {
          try {
          let sheet;
          sheet = context.workbook.worksheets.getItem('Sheet 1');
          let range = sheet.getRange('A1:O13000');
  ​        range.load("values");
          await context.sync();
          console.log("Excel data", range.values);
          } catch (e){
             console.error(e);
          }

}

我得到的错误

感谢 naveen 的提问。我们有 2 个限制:a) Excel Online 有 5MB 的负载大小限制,b) 范围限制为 500 万个单元格。

根据您的样本,它低于这些限制。我还使用 Script Lab 尝试了您的代码,它运行正常。这是我的要点:https://gist.github.com/lumine2008/633f3967d0a55a7f2993c81c472e88a8

可在 https://docs.microsoft.com/en-us/office/dev/add-ins/develop/common-coding-issues#excel-range-limits

找到该文档