繁体   English   中英

如何将数据列表转换为 Google 表格中的表格

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM