【Day 18】Google Apps Script - API 篇 - Spreadsheet Service - 电子试算表服务范例-新增标题

来练习帮 Google Sheets(电子试算表)增加一点内容吧。


今日要点:
》Spreadsheet Service 电子试算表服务范例
》新增一列标题列
》设定样式


Document Service 内容新增

前一天我们简单介绍了 Spreadsheet Service 的手册与 Google 电子试算表的画面对应,今天继续来一些 API 程序使用范例。来练习帮 Google Sheets(电子试算表)增加一点内容吧。

今天先来介绍与练习一下新增一列标题列,设定标题列栏位的样式,并且把标题列给冻结起来,标题的名称就对应我们前面说明的铁人赛 Demo 表里的栏位。

我们试着把程序码弄的很简单,一样先把一些参数先写死比较好阅读。

程序码与执行结果对照如下图:

程序码

我们程序大概分几个部份

  • 建立一个新的 Sheet 档案
  • 设定第一列标题栏位名称
  • 设定第一列栏位的样式
     - 冻结第一列(row)
     - 设定字体大小、字体颜色、栏位背景颜色
     - 设定栏位寛度

程序码如下:

var gSheet; //工作表

var col_A = 1; //"服务名称"
var col_B = 2; //"函式名称"
var col_C = 3; //"函式名称(中文)"
var col_D = 4; //"函式说明"
var col_E = 5; //"Request Url Params"
var col_F = 6; //"Response Body"
var col_G = 7; //"Sample"


//主要入口
function doGet18(e){  

  //如果没有要用原有的 sheets 档案, 自动建立一个新档案
  createSheets(); 
  
  //设定第一列标题栏位
  setTargetWorkbookColTitle();

  //设定第一列栏位的样式
  setColTitleStyle()
}

建立初始的档案


//建立初始的档案
function createSheets() {    
  var ss = SpreadsheetApp.create('铁人赛-API-文件-Demo-程序自动产生-'+ getTimestemp() , 200, 17);
  gSheet = ss.getSheets()[0];
}

设定第一列标题栏位名称


function setTargetWorkbookColTitle(){
      setCellValue(1, col_A, "服务名称")
      setCellValue(1, col_B, "函式名称")
      setCellValue(1, col_C, "函式名称(中文)")
      setCellValue(1, col_D, "函式说明")
      setCellValue(1, col_E, "Request Url Params")
      setCellValue(1, col_F, "Response Body")
      setCellValue(1, col_G, "Sample")
}

设定第一列栏位的样式

function setColTitleStyle() {    
  //冻结第一列(row)
  gSheet.setFrozenRows(1);
  
  //设定字体大小、字体颜色、栏位背景颜色 
  gSheet.getRange('1:1').setFontSize(12);
  gSheet.getRange('1:1').setFontColor('white');   
  gSheet.getRange('1:1').setBackground('#708090');

  //设定栏位寛度
  gSheet.setColumnWidths(3, 2, 200);  //从第3栏开始後2栏, 设为寛度200
  gSheet.setColumnWidths(5, 3, 250);  //从第5栏开始後3栏, 设为寛度250
}

设定栏位值

function setCellValue(row, column, content){

  var cell = gSheet.getRange(row, column, 1);//指定目的储存格范围 
  cell.setValue(content);

  //另一种定位栏位的方式
  //sheet.getRange('A1').setValue('编号');

 }

以上就是建立 Google Sheets(电子试算表),新增一列标题列并设定样式的范例。

今天就先这样罗。

参考

程序附录

function getTimestemp(){
  var time = new Date().toISOString();
  var tzoffset = (new Date()).getTimezoneOffset() * 60000; 
  var localISOTime = (new Date(Date.now() - tzoffset)).toISOString().slice(0, 19);   
  var timestemp = localISOTime.replace(/-/g, "").replace(/:/g, "").replace("T", "-"); //20210711-151304
  return timestemp;
}

 


<<:  Angular 深入浅出三十天:表单与测试 Day18 - 与 Cypress 的初次见面(上)

>>:  多重影分身之术,让你的分身去做事情

[Day 15] Leetcode 138. Copy List with Random Pointer (C++)

前言 今天选择的是top 100 liked,并与linked list相关的题目:138. Cop...

[烧烤吃到饱-5] 潼阪 - 帝王蟹黑毛牛 - 顶级烧烤

发文前特别去查了一下价位,现在是NTD.1550元+10%(跟以前去吃时差不多),庆幸的是,在几次疫...

如何在 Angular 获取 URL 资讯

在实作里,很多时後我们会将一些必要资讯记录在网址上,直接在网址里就能得到我们要的讯息 不用再透过组件...

Day6 职训(机器学习与资料分析工程师培训班): PHP连接SQL

上午: Python程序设计 延续昨日课程,今日从流程控制开始,课程中老师也有出几个练习题让同学试着...

【课程推荐】2021/3/13~3/14 软件需求塑模与需求规格文件撰写实务班

课程目标 了解系统分析实务、系统分析工具之应用、逻辑资料库设计技巧、系统分析产出文件、同仁审查等,以...