来练习帮 Google Sheets(电子试算表)增加一点内容吧,把之前的 API 文件写到 Sheets 来。
今日要点:
》Spreadsheet Service 电子试算表服务范例
》读取 Google Docs 中的表格
》把表格的内容写入到 Google Sheets 里
前一天我们简单介绍在 Google sheets 档案中,新增了一列栏位的标题列。接下来我们要开始把之前【Day 16】介绍从 API 文件中的表格里,抓取到的栏位值转成二维阵列值後,建立一个新的 google Sheets 档,再把阵列值分段落写入到 Sheets 中。
转存至电子试算表後,如果有需要就可以用电子试算表中强大的检查功能,进行资料的检查,协助工程师看有没有地方写重覆或遗漏的。
上述的描述我们用图简单绘制一下流程,如下图所示:
二维阵列值依表格有分为几个段落,撷取後储存至对应的栏位。
如下图:
正常你会有一个回圈去把所有的表格抓取出来,计算每个表格中段落的位置,再进行段落的撷取。
不过我们一样试着把程序码弄的很简单,先把一些参数先写死比较好阅读。
我们程序大概分几个部份
程序码如下:
function doGet19(e) {
//建立一个新的 Sheet 档案
doGet18(e); //参考第18天的说明
//读取写在 Google Docs 文件里的 API 描述表格, 存放在二维阵列里
var array = doGet16(e); //参考第16天的说明
二维阵列 array 的值,稍微排版後应该会如下所示:
/* 文件取得的资料结构
[
["Docs Demo","getGmailInfo","查询Gmail资讯"],
["说明"," 使用 Google Apps Script 查询 Gmail 资讯。",""],
[" Request Url Params ","",""],
["键值","型别","说明"],
[" name"," String","查询人的姓名"],
[" func (必填)"," String","要呼叫的功能名称"],
[" Response Body","",""],
["键值","型别","说明"],
[" hello"," String","对查询人的问候语"],
[" unreadCount"," Number","收件夹中未读信件的数量"],
[" spamCount"," Number","垃圾信件夹中的未读数量"],
[" messageSubject"," ArrayObject","最新5笔信件的标题"],
[" Sample","",""],
["Method","GET",""],
["URL","https://script.google.com/...",""],
["Request","?name=Jason&func=getGmailInfo",""],
["Response","{...}",""]
]
*/
依我们的需要把值分段落取出来,SegmentIndex 这里原本是用程序去算出段落范围。不过为了方便,我们先固定值。
var SegmentIndex = [3, 7, 13, 17];
var arrRequestUrlParams = array.slice(SegmentIndex[0], SegmentIndex[1]-1);
var arrResponseBody = array.slice(SegmentIndex[1], SegmentIndex[2]-1);
var arrSample = array.slice(SegmentIndex[2], SegmentIndex[3]);
把值写入到 Google Sheets 对应的栏位里。
var row = 0
var value_A = array[row][0];
var value_B = array[row][1];
var value_C = array[row][2];
var value_D = array[row+1][1];
var value_E = JSON.stringify(arrRequestUrlParams);
var value_F = JSON.stringify(arrResponseBody);
var value_G = JSON.stringify(arrSample);
setCellValue(row+2, col_A, value_A);
setCellValue(row+2, col_B, value_B);
setCellValue(row+2, col_C, value_C);
setCellValue(row+2, col_D, value_D);
setCellValue(row+2, col_E, value_E);
setCellValue(row+2, col_F, value_F);
setCellValue(row+2, col_G, value_G);
}
以上就是把写在 Google Docs 文件里的 API 描述表格写入至 Google Sheets(电子试算表)的范例。
今天就先这样罗。
<<: 从零开始的8-bit迷宫探险【Level 26】这游戏没有华佗,不能补血啊!Game Over 场景切换
在React中可以插入Material icon组件使用,步骤如下: Material icons网...
前几篇一个阴错阳差发现了 reduce,不小心产生了好感(?),於是很兴奋的说要之後再找时间介绍,写...
Ngrok运行原理 其实ngrok有客户端ngrok和服务端ngrokd,在用户客户端发起请求时,就...
经过昨天的介绍後,相信大家对App都有更一步的了解了,是吧!(应该有吧) 那我们今天就来做一点小小的...
如果上传档案不想使用 preload 档案,也不想用下载的方式,其实可以上传档案至 selenium...