如何打印工作表名称和Google ID

瑞安·卡普勒(Ryan Capule)

我正在尝试在一列中打印Google Spreadsheet中所有工作表的名称,并在另一列中打印它们各自的ID(URL的一部分)。到目前为止,这是我的脚本

function getSchedule() {
  var ss=SpreadsheetApp.openById("Sheet_ID");
  var sh=ss.getActiveSheet();
  var allSheets=ss.getSheets();
  var ids=[];
  for(var i=0;i<allSheets.length;i++)
  {
    ids[allSheets[i].getName()]=allSheets[i].getSheetId();
  }

  var invoicess = SpreadsheetApp.getActiveSpreadsheet();
  var schedule = invoicess.getSheetByName("Schedule");
  schedule.getRange("A1:B").clear();
  var headers = [["Sheet Name", "ID"]];
  schedule.getRange("A1:B1").setValues(headers);
  
  for(var d = 1; d=allSheets.length;d++){
  schedule.getRange(d+1,1).setValue(allSheets[d]);}
}
  

因此,我相信allSheets应该是所有工作表名称的数组,而ids是ID的数组,但是我认为应该打印allSheets数组的值的最后一个for循环不会打印任何内容。我想从cell开始打印A2我还没有ID的循环。谁能告诉我为什么细胞中什么也不打印?

马里奥斯

问题:

  • 以下行不会向该数组添加新值: ids[allSheets[i].getName()]=allSheets[i].getSheetId();
  • 结果,数据没有添加到数组中,这就是您在工作表中看不到数据的原因。相反,您应该使用push()将元素(行)添加到数组中。
  • 另外,由于您要粘贴2D值数组,因此需要使用setValues代替setValue
  • 您的代码使用了不必要的代码行。例如,您可以setValues在将标头添加到要在其中追加数据的原始数组中添加标头时使用您不需要循环即可将值附加到setValues
  • 我通过删除多余的调用来改进了代码,并使其对JavaScript更友好。

改进的解决方案:

function getSchedule() {
  const ss=SpreadsheetApp.openById("Sheet_ID");
  const invoicess = SpreadsheetApp.getActiveSpreadsheet();
  const schedule = invoicess.getSheetByName("Schedule");
  const allSheets = ss.getSheets();
  const ids = [["Sheet Name", "ID"]];
  allSheets.forEach(sh=>{
  ids.push([sh.getName(),sh.getSheetId()]);                  
  });   
  schedule.getRange("A1:B").clear();
  schedule.getRange(1,1,ids.length,ids[0].length).setValues(ids);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何打印不包含ID或不包含ID列的表的名称?

来自分类Dev

如何使用python从Google Spreadsheet获取工作表ID?

来自分类Dev

ForkJoinPool,如何打印每个工作线程的ID?

来自分类Dev

ForkJoinPool,如何打印每个工作线程的ID?

来自分类Dev

以ID开头和名称选择表行

来自分类Dev

如何在 oozie Web 控制台中按工作流 ID 和名称过滤?

来自分类Dev

如何打印组ID

来自分类Dev

如何实现查询比较不同工作表中的 ID 并在相应行中打印确认?

来自分类Dev

如何使用Apps Script在Google工作表中提取pubhtml ID?

来自分类Dev

获取进程ID和ID名称

来自分类Dev

来自两个单独表的联接ID和名称

来自分类Dev

如何使用Xmonad知道工作区ID /名称

来自分类Dev

如何获得工作ID?

来自分类Dev

如何不在OpenOffice.org Calc中打印工作表名称和页码?

来自分类Dev

Google App脚本-通过函数传递多个工作表ID

来自分类Dev

在CSS工作表中使用javascript和html元素ID

来自分类Dev

在数据透视表中,我存储了post_id和category_id,如何从数据透视表中获取我的帖子类别名称?

来自分类Dev

显示基于工作ID的最新ID和公司ID

来自分类Dev

如何在sql表上获取与id匹配的名称?

来自分类Dev

PDO获取ID和名称

来自分类Dev

Google工作表从另一个工作表ID创建pdf

来自分类Dev

使用URL和工作表ID访问电子表格中的工作表

来自分类Dev

在jQuery中动态打印UL ID名称

来自分类Dev

Scala REPL打印的是实例名称/ ID吗?

来自分类Dev

如何创建检查(表A.Id和表B.Id和TypeId = 1)?

来自分类Dev

如何覆盖选择下拉列表的名称和ID属性

来自分类Dev

如何从载波中的ID和名称中找到URL

来自分类Dev

如何通过Laravel的list()传递ID和名称以外的信息

来自分类Dev

如何使用ID和类型名称加载Laravel模型?

Related 相关文章

  1. 1

    如何打印不包含ID或不包含ID列的表的名称?

  2. 2

    如何使用python从Google Spreadsheet获取工作表ID?

  3. 3

    ForkJoinPool,如何打印每个工作线程的ID?

  4. 4

    ForkJoinPool,如何打印每个工作线程的ID?

  5. 5

    以ID开头和名称选择表行

  6. 6

    如何在 oozie Web 控制台中按工作流 ID 和名称过滤?

  7. 7

    如何打印组ID

  8. 8

    如何实现查询比较不同工作表中的 ID 并在相应行中打印确认?

  9. 9

    如何使用Apps Script在Google工作表中提取pubhtml ID?

  10. 10

    获取进程ID和ID名称

  11. 11

    来自两个单独表的联接ID和名称

  12. 12

    如何使用Xmonad知道工作区ID /名称

  13. 13

    如何获得工作ID?

  14. 14

    如何不在OpenOffice.org Calc中打印工作表名称和页码?

  15. 15

    Google App脚本-通过函数传递多个工作表ID

  16. 16

    在CSS工作表中使用javascript和html元素ID

  17. 17

    在数据透视表中,我存储了post_id和category_id,如何从数据透视表中获取我的帖子类别名称?

  18. 18

    显示基于工作ID的最新ID和公司ID

  19. 19

    如何在sql表上获取与id匹配的名称?

  20. 20

    PDO获取ID和名称

  21. 21

    Google工作表从另一个工作表ID创建pdf

  22. 22

    使用URL和工作表ID访问电子表格中的工作表

  23. 23

    在jQuery中动态打印UL ID名称

  24. 24

    Scala REPL打印的是实例名称/ ID吗?

  25. 25

    如何创建检查(表A.Id和表B.Id和TypeId = 1)?

  26. 26

    如何覆盖选择下拉列表的名称和ID属性

  27. 27

    如何从载波中的ID和名称中找到URL

  28. 28

    如何通过Laravel的list()传递ID和名称以外的信息

  29. 29

    如何使用ID和类型名称加载Laravel模型?

热门标签

归档