Google apps script 如何在文档服务中将填充属性值应用于整个表?

Google apps script 如何在文档服务中将填充属性值应用于整个表?,google-apps-script,Google Apps Script,期望的行为 我希望能够将填充属性值应用于整个表,而不仅仅是单个单元格 实际行为 我可以将填充属性值应用于单个单元格,但不能应用于整个表 我尝试过的 我创建一个表,其中包含: var header_table = body.insertTable(0, cells); 这将使用类的方法并返回一个 该类有一个名为的方法,该方法“设置元素的属性” 然后,我尝试使用以下设置表的属性: // BEGIN define style var header_table_style = {}; header_t

期望的行为

我希望能够将填充属性值应用于整个表,而不仅仅是单个单元格

实际行为

我可以将填充属性值应用于单个单元格,但不能应用于整个表

我尝试过的

我创建一个表,其中包含:

var header_table = body.insertTable(0, cells);
这将使用类的方法并返回一个

该类有一个名为
的方法,该方法“设置元素的属性”

然后,我尝试使用以下设置表的属性:

// BEGIN define style
var header_table_style = {};
header_table_style[DocumentApp.Attribute.FONT_FAMILY] = 'Arial';
header_table_style[DocumentApp.Attribute.PADDING_BOTTOM] = 0;
header_table_style[DocumentApp.Attribute.PADDING_LEFT] = 0;
header_table_style[DocumentApp.Attribute.PADDING_RIGHT] = 0;
header_table_style[DocumentApp.Attribute.PADDING_TOP] = 0;
// END define style

// apply the style to the table
header_table.setAttributes(header_table_style);
结果是应用了
字体系列
,但没有应用
填充
,甚至认为
填充
也在列表中

但是,如果我只是尝试将属性应用于单个单元格,则会应用填充:

header_table.getCell(0, 0).setAttributes(header_table_style);
header_table.getCell(0, 1).setAttributes(header_table_style);
问题

01)如何将属性应用于整个表

02)额外问题:为什么所有表方法的官方代码示例都与使用表类的场景没有明确关联?()

03)额外问题:为什么有一个表方法而不是
getColumn(columnIndex)
方法?如何使一列的所有内容居中


编辑:

顺便说一句,我在应用风格方面所做的其他类似尝试都不起作用——我将它们包括在下面,因为它们可能都指向对某些方法如何工作的一个独特的误解

a) 尝试通过
MARGIN\u-TOP
-在段落前添加5点空格(结果:应用除
MARGIN\u-TOP
之外的所有其他样式):

然而,这是可行的:

title_text.setSpacingBefore(5);
b) 尝试更改表格的背景色(结果:段落的背景色更改,而不是表格):


您需要注意文档-某些属性仅适用于某些元素。例如,填充枚举仅用于表单元格,而不是整个表

要将更改应用于整个表,可以循环表单元格元素并应用计算的填充(或静态填充)

奖金1-不确定。图纸中的属性在
范围
元素上单独设置

奖金2-列是行的子级。因此,要进行迭代,需要使用两个循环。您可以使用Enum设置
表格单元格
元素的背景

函数表(){
var doc=DocumentApp.getActiveDocument();
var body=doc.getBody();
变量单元格=['第1.1行','第1.2行'],['第2.1行','第2.2行'];
var header_table=body.insertTable(0,单元格);
var样式={};
样式[DocumentApp.Attribute.PADDING\u BOTTOM]=20;//仅适用于表格单元格
样式[DocumentApp.Attribute.BACKGROUND_COLOR]=“00ffff”
Logger.log(header_table.getType());
var rows=header_table.getNumRows();
Logger.log(行);//检查表中的行数
//对于每一行。。。

对于(var i=0;i您需要注意文档-某些属性仅适用于某些元素。例如,padding Enum仅适用于表单元格,而不是整个表

要将更改应用于整个表,可以循环表单元格元素并应用计算的填充(或静态填充)

奖金1-不确定。工作表中的属性是在
范围
元素上单独设置的

奖金2-列是行的子元素。因此,要进行迭代,需要使用两个循环。您可以使用枚举设置
表单元格
元素的背景

函数表(){
var doc=DocumentApp.getActiveDocument();
var body=doc.getBody();
变量单元格=['第1.1行','第1.2行'],['第2.1行','第2.2行'];
var header_table=body.insertTable(0,单元格);
var样式={};
样式[DocumentApp.Attribute.PADDING\u BOTTOM]=20;//仅适用于表格单元格
样式[DocumentApp.Attribute.BACKGROUND_COLOR]=“00ffff”
Logger.log(header_table.getType());
var rows=header_table.getNumRows();
Logger.log(行);//检查表中的行数
//对于每一行。。。
对于(var i=0;i
title_text.setSpacingBefore(5);
another_table_style = {};
another_table_style[DocumentApp.Attribute.BACKGROUND_COLOR] = "#cfe2f3";
var another_table = body.appendTable(some_cells);
another_table.setAttributes(another_table_style);