[英]How to transform a list of data into a table on Google Sheet
我正在尝试使用 App Script 创建一个表,但我还不够好,无法在 App Script 中创建下面的表。有人可以指导我如何创建这个表吗?
最重要的部分是每个月都会添加数据,这意味着我正在尝试使用一个脚本来检测行和更新,而不是每个月来回更新。
这就是我希望 Car Table 在 Google 表格中的样子:
笔记:
第 1 行:汽车将显示在合并调用中,来自 A1:C1
第 2 行:Make 将显示在合并单元格中,来自 B2:C2
第 3 行:“本田”将在 A3,“奥迪”将在 B3,“雷克萨斯”将在 C3
第 5 行:没有数据的空白行
第 6 行:价格将显示在合并单元格中,来自 A6:C6
Automobile
Make
Honda Audi Lexus
100 150 200
Price
20 30 40
这是原始数据:本田 100 奥迪 150 雷克萨斯 200 价格 20K 价格 30K 价格 40K
我已将最大列设置为 maxCol=3,我正在考虑使用 ForEach 和 Map 方法,以便它可以检测下一个项目并在下一行中设置值。
var ss = SpreadsheetApp.getActiveSpreadsheet();
var carTable = "Car Table";
var rawData = ss.getSheetByName("Raw Data");
var carTable = ss.getSheetByName("Car Table");
var header=["Automobile", "Make", "Honda", "Audi", "Lexus", "Price"];
function carTable() {
maxColumn=3
var data = sourceSheet.getRange("A1:C" + sourceSheet.getLastRow()).getValues();
}
仅回答有关如何以您要查找的格式将值设置到电子表格中的部分:
const sss = SpreadsheetApp.getActiveSpreadsheet();
const sheetName = "You sheet name";
const ts = sss.getSheetByName(sheetName); // 'ts' for 'target sheet'
const values = [ // values must be a 2D array, which each inner array is one row, and each value of a row is the cell of each column.
["Automobile","",""], // for merged cells, the value to be shown is always the one in the top left corner.
["Make","",""],
["Honda","Audi","Lexus"],
[100,150,200],
["","",""],
["Price","",""],
[20,30,40],
]
const rowsToMerge = [1,2,6];
for (const row of rowsToMerge) ts.getRange(row,3).mergeAcross();
ts.getRange(1,1,values.length,values[0].length).setValues(values);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.