使用Javascript的电子表格中的第一个空行

使用Javascript的电子表格中的第一个空行,javascript,api,async-await,office-js,Javascript,Api,Async Await,Office Js,我正在编写一些代码,用于自动生成报告并将其附加到电子表格中。程序定期运行,每次运行生成一组数据并将其插入特定电子表格文件的第一个空行 在编写插入行的代码时,我发现没有用于搜索第一个空行所在位置的API。因此,我需要使用readapi来搜索行号以插入新数据 读取API如下所示: 由于电子表格是在线存储的,为了提高性能,readCells每次最多只能返回30行数据 我可以写一个函数来搜索a列中第一个空行的位置吗?请注意,该电子表格用于自动报告,因此行数可能非常大,我希望能够足够快地生成报告。在您所

我正在编写一些代码,用于自动生成报告并将其附加到电子表格中。程序定期运行,每次运行生成一组数据并将其插入特定电子表格文件的第一个空行

在编写插入行的代码时,我发现没有用于搜索第一个空行所在位置的API。因此,我需要使用readapi来搜索行号以插入新数据

读取API如下所示:

由于电子表格是在线存储的,为了提高性能,readCells每次最多只能返回30行数据


我可以写一个函数来搜索a列中第一个空行的位置吗?请注意,该电子表格用于自动报告,因此行数可能非常大,我希望能够足够快地生成报告。在您所说的注释中,我们可以假设之前,数据总是从第1行开始连续写入。在这种情况下,您正在寻找方便的方法,可能有一个
true
参数:

const range = worksheet.getUsedRange(true);
从文件中:

使用的范围是包含指定了值或格式的任何单元格的最小范围。如果整个工作表为空,此函数将返回左上角的单元格(即不会抛出错误)

参数

  • 值仅
    布尔值

    可选。如果为true,则仅将具有值的单元格视为已用单元格(忽略格式设置)


您将获得已使用的范围,然后查询该范围以找出其终点。第一个空白行是范围结束后的下一行。

基本上我从某个地方开始,得到下一个30,然后检查是否有任何结果为空。如果不是,我用另一个start调用同一个函数,它是30+上一个start,否则我返回start+索引为null

 async function readCell(column, start) {
   const results = await readCells(`${column}${start}:${column}${start + 30}`);

   const foundIndex = results.find(element => element === null);

   if (foundIndex === -1) {
     return await readCell(column, start + 30);
   } else {
     return foundIndex + start;
   }
 }

您使用的是哪种电子表格?谷歌表单?网络Excel?Zoho Sheet?Web Excel。您可以假设以前的数据总是从第1行开始连续写入。如果我没有使用Web Excel或Google Sheets,需要具体使用readCells方法,是否有线索?@IsmailHossain-如果您只能使用
readCells
,您需要在问题中明确说明这一点;不这样做会使问题变得非常不完整。您还需要说明它支持什么输入,返回什么,等等。但是如果您使用的是Web Excel,您不应该仅限于这一个函数。