从 google 电子表格中获取值

Get values from google spreadsheet

我是 App Script 的新手,但通常想知道我想做的事情是否可行...任何帮助都将不胜感激。

所以,我有一个 google 电子表格,其中一些列设置如下:

Column A   Column B

name       name.com
name2      name2.com
name3      name3.com

我希望能够获取每一列中的所有值,并将它们解析为与此类似的格式,以便我可以复制并粘贴到其他地方的最终文件:

<#function linker trackerName>
<#local link = { 
"name" : "name.com", 
"name2" : "name2.com",
"name" : "name2.com"

}>
</#function>

我猜应用脚本很有可能做到这一点,但我只是不确定格式或如何将其解析为文本文件?

再一次,任何有关启动点的帮助或指导都很棒!

这是我正在修改的脚本。我制作了一个菜单,但是当我 运行 函数时,没有任何反应:

 function onOpen() {
   var ui = SpreadsheetApp.getUi();
   ui.createMenu('Get Values')
       .addItem('Go!', 'getValues')
       .addToUi();
    }


   function getValues() {

   var values = 
   SpreadsheetApp.getActiveSheet().getDataRange().getValues();

    values.forEach( function(row) {
    row[0] // column index as 4 ... I beleive this should get all values 
    in each row / column? 
    });
    }
  1. 您想从菜单栏手动 运行 脚本。
  2. 您想从电子表格中检索值。
  3. 您想创建新文档,其中包含添加了检索值的文本值。
  4. 脚本中可以使用模板

我明白你想要什么了。当这反映到你的脚本中时,这个修改怎么样?该脚本的流程如下。我认为您的情况有几个答案。所以请将此视为其中之一。

流量:

  1. 将模板值设置为 tempHeadertempFooter
  2. 从电子表格中检索值。
  3. 转换检索到的值以在模板中使用。
  4. 合并转换后的值和模板值。
  5. 创建新文档并设置值。

修改后的脚本:

function getValues() {
  var fileName = "sampleName"; // This is a filename of new Document.

  var tempHeader = "<#function linker trackerName>\n<#local link = {\n";
  var tempFooter = "\n}>\n</#function>\n";
  var values = SpreadsheetApp.getActiveSheet().getDataRange().getValues();
  var v = values.slice(1, values.length);
  var res = v.map(function(e, i){return '"' + e[0] + '" : "' + e[1] + '"' + (i < v.length - 1 ? "," : "")}).join("\n");
  DocumentApp.create(fileName).getBody().setText(tempHeader + res + tempFooter);
}

注:

  • onOpen()在你的脚本中可以使用。打开电子表格后,您可以 运行 菜单栏中的脚本。
  • 在这个修改后的脚本中,新文档的文件名是fileName。所以请根据你的情况修改这个。
  • 我担心 "A" 列中可能存在相同的值。所以在转换值的时候,我没有作为对象处理。