Google 脚本 - 在附加文本中插入缩进
Google Script - Insert indents to appended texts
我正在尝试将信息从 google 电子表格传递到 google 文档。
这是 table 的观点:
第一列只显示一次,然后会显示该类别的项目列表。
我设法在文档中的 table 中显示了此信息,但需要将其显示为文本,因为每个 table 行的最小高度仍然太多。
此信息将作为包含两列的数组传输,我将遍历它。这是我试过的:
//servicios_numrows_Q -> number of rows for the data
//value_tabla_servicios -> variable that contains the information
for(var t = 0; t < servicios_numrows_Q - 1; t++){
if(body.appendParagraph(value_tabla_servicios[t+1][0]) == ''){ //Am I in a row that hasn't a Category Title?
"\t" + body.appendParagraph(value_tabla_servicios[t+1][1]);
}else
{
body.appendParagraph(value_tabla_servicios[t+1][0]) + "\t"
+ body.appendParagraph(value_tabla_servicios[t+1][1]);
}
}
但是,添加选项卡只会导致每个元素显示在单独的行中。
有没有办法让第一列和第二列显示在同一行?添加空格而不是制表符?
- 您想使用 Google Apps 脚本将问题的顶部图像(电子表格)转换为 Google 文档的段落。
如果我的理解是正确的,这个答案怎么样?
修改点:
- 当您使用
appendParagraph
将\t
添加到文本顶部时,请按如下方式使用。
"\t" + body.appendParagraph(value_tabla_servicios[t+1][1]);
修改为body.appendParagraph("\t" + value_tabla_servicios[t+1][1]);
.
body.appendParagraph(value_tabla_servicios[t+1][0]) + "\t" + body.appendParagraph(value_tabla_servicios[t+1][1]);
修改为body.appendParagraph(value_tabla_servicios[t+1][0] + "\t" + value_tabla_servicios[t+1][1]);
- 在你的脚本中,当
value_tabla_servicios[t+1]
声明为变量时,可以增加脚本的可读性。
- 如果要对齐列 "B",“\t\t”可能比
"\t"
更合适。
当以上几点反映到你的脚本中,就会变成如下。请将此视为几个答案之一。
修改后的脚本:
for(var t = 0; t < servicios_numrows_Q - 1; t++){
var row = value_tabla_servicios[t+1]; // Added
if (row[0] == ''){ // Modified
body.appendParagraph("\t\t" + row[1]); // Modified
} else {
body.appendParagraph(row[0] + "\t" + row[1]); // Modified
}
}
- 根据
row[0]
的值长度,body.appendParagraph("\t\t" + row[1])
的"\t\t\t"
可能比较合适。关于这一点,请查看您的实际情况。
参考:
如果我误解了您的问题并且这不是您想要的方向,我深表歉意。如果发生错误,你能提供一个样本电子表格、你想要的输出和你的整个脚本吗?借此,我想确认一下。当然,请删除您的个人信息。
我正在尝试将信息从 google 电子表格传递到 google 文档。
这是 table 的观点:
第一列只显示一次,然后会显示该类别的项目列表。
我设法在文档中的 table 中显示了此信息,但需要将其显示为文本,因为每个 table 行的最小高度仍然太多。
此信息将作为包含两列的数组传输,我将遍历它。这是我试过的:
//servicios_numrows_Q -> number of rows for the data
//value_tabla_servicios -> variable that contains the information
for(var t = 0; t < servicios_numrows_Q - 1; t++){
if(body.appendParagraph(value_tabla_servicios[t+1][0]) == ''){ //Am I in a row that hasn't a Category Title?
"\t" + body.appendParagraph(value_tabla_servicios[t+1][1]);
}else
{
body.appendParagraph(value_tabla_servicios[t+1][0]) + "\t"
+ body.appendParagraph(value_tabla_servicios[t+1][1]);
}
}
但是,添加选项卡只会导致每个元素显示在单独的行中。
有没有办法让第一列和第二列显示在同一行?添加空格而不是制表符?
- 您想使用 Google Apps 脚本将问题的顶部图像(电子表格)转换为 Google 文档的段落。
如果我的理解是正确的,这个答案怎么样?
修改点:
- 当您使用
appendParagraph
将\t
添加到文本顶部时,请按如下方式使用。"\t" + body.appendParagraph(value_tabla_servicios[t+1][1]);
修改为body.appendParagraph("\t" + value_tabla_servicios[t+1][1]);
.body.appendParagraph(value_tabla_servicios[t+1][0]) + "\t" + body.appendParagraph(value_tabla_servicios[t+1][1]);
修改为body.appendParagraph(value_tabla_servicios[t+1][0] + "\t" + value_tabla_servicios[t+1][1]);
- 在你的脚本中,当
value_tabla_servicios[t+1]
声明为变量时,可以增加脚本的可读性。 - 如果要对齐列 "B",“\t\t”可能比
"\t"
更合适。
当以上几点反映到你的脚本中,就会变成如下。请将此视为几个答案之一。
修改后的脚本:
for(var t = 0; t < servicios_numrows_Q - 1; t++){
var row = value_tabla_servicios[t+1]; // Added
if (row[0] == ''){ // Modified
body.appendParagraph("\t\t" + row[1]); // Modified
} else {
body.appendParagraph(row[0] + "\t" + row[1]); // Modified
}
}
- 根据
row[0]
的值长度,body.appendParagraph("\t\t" + row[1])
的"\t\t\t"
可能比较合适。关于这一点,请查看您的实际情况。
参考:
如果我误解了您的问题并且这不是您想要的方向,我深表歉意。如果发生错误,你能提供一个样本电子表格、你想要的输出和你的整个脚本吗?借此,我想确认一下。当然,请删除您的个人信息。