Sie sind auf Seite 1von 19

Class Table | Apps Script | Google Developers

1 of 19

https://developers.google.com/apps-script/reference/document/table#fi...

Class Table
An element representing a table. A Table may only contain TableRow elements. For more
information on document structure, see the guide to extending Google Docs.
When creating a Table that contains a large number of rows or cells, consider building it from a
string array, as shown in the following example.

var body = DocumentApp.getActiveDocument().getBody();


// Create a two-dimensional array containing the cell contents.
var cells = [
['Row 1, Cell 1', 'Row 1, Cell 2'],
['Row 2, Cell 1', 'Row 2, Cell 2']
];
// Build a table from the array.
body.appendTable(cells);

Methods
Method

Return type

Brief description

appendTableRow()

TableRow

Creates and appends a new TableRow.

appendTableRow(tableRow)

TableRow

Appends the given TableRow.

clear()

Table

Clears the contents of the element.

copy()

Table

Returns a detached, deep copy of the current


element.

editAsText()

Text

Obtains a Text version of the current element, for


editing.

findElement(elementType)

RangeElement

Searches the contents of the element for a


descendant of the speci ed type.

findElement(elementType,
from)

RangeElement

Searches the contents of the element for a


descendant of the speci ed type, starting from the
speci ed RangeElement.

findText(searchPattern)

RangeElement

Searches the contents of the element for the


speci ed text pattern using regular expressions.

12/26/2015 8:01 PM

Class Table | Apps Script | Google Developers

2 of 19

https://developers.google.com/apps-script/reference/document/table#fi...

findText(searchPattern,
from)

RangeElement

Searches the contents of the element for the


speci ed text pattern, starting from a given search
result.

getAttributes()

Object

Retrieves the element's attributes.

getBorderColor()

String

Retrieves the border color.

getBorderWidth()

Number

Retrieves the border width, in points.

getCell(rowIndex,
cellIndex)

TableCell

Retrieves the TableCell at the speci ed row and


cell indices.

getChild(childIndex)

Element

Retrieves the child element at the speci ed child


index.

getChildIndex(child)

Integer

Retrieves the child index for the speci ed child


element.

getColumnWidth(
columnIndex)

Number

Retrieves the width of the speci ed table column, in


points.

getLinkUrl()

String

Retrieves the link url.

getNextSibling()

Element

Retrieves the element's next sibling element.

getNumChildren()

Integer

Retrieves the number of children.

getNumRows()

Integer

Retrieves the number of TableRows.

getParent()

ContainerElementRetrieves the element's parent element.

getPreviousSibling()

Element

Retrieves the element's previous sibling element.

getRow(rowIndex)

TableRow

Retrieves the TableRow at the speci ed row index.

getText()

String

Retrieves the contents of the element as a text


string.

getTextAlignment()

TextAlignment

Gets the text alignment.

getType()

ElementType

Retrieves the element's ElementType.

insertTableRow(childIndex) TableRow

Creates and inserts a new TableRow at the


speci ed index.

insertTableRow(childIndex, TableRow
tableRow)

Inserts the given TableRow at the speci ed index.

isAtDocumentEnd()

Boolean

Determines whether the element is at the end of the


Document.

removeChild(child)

Table

Removes the speci ed child element.

12/26/2015 8:01 PM

Class Table | Apps Script | Google Developers

3 of 19

https://developers.google.com/apps-script/reference/document/table#fi...

removeFromParent()

Table

Removes the element from its parent.

removeRow(rowIndex)

TableRow

Removes the TableRow at the speci ed row index.

replaceText(searchPattern, Element
replacement)

Replaces all occurrences of a given text pattern with


a given replacement string, using regular
expressions.

setAttributes(attributes) Table

Sets the element's attributes.

setBorderColor(color)

Table

Sets the border color.

setBorderWidth(width)

Table

Sets the border width, in points.

setColumnWidth(
columnIndex, width)

Table

Sets the width of the speci ed column, in points.

setLinkUrl(url)

Table

Sets the link url.

setTextAlignment(
textAlignment)

Table

Sets the text alignment.

Detailed documentation
appendTableRow()
Creates and appends a new TableRow.

Return
TableRow the new table row element

appendTableRow(tableRow)
Appends the given TableRow.

Parameters
Name

Type

Description

tableRow

TableRow

the table row to append

12/26/2015 8:01 PM

Class Table | Apps Script | Google Developers

4 of 19

https://developers.google.com/apps-script/reference/document/table#fi...

Return
TableRow the appended table row element

clear()
Clears the contents of the element.

Return
Table the current element

copy()
Returns a detached, deep copy of the current element.
Any child elements present in the element are also copied. The new element will not have a
parent.

Return
Table the new copy

editAsText()
Obtains a Text version of the current element, for editing.
Use editAsText for manipulating the elements contents as rich text. The editAsText mode
ignores non-text elements (such as InlineImage and HorizontalRule).
Child elements fully contained within a deleted text range are removed from the element.

var body = DocumentApp.getActiveDocument().getBody();


// Insert two paragraphs separated by a paragraph containing an
// horizontal rule.
body.insertParagraph(0, "An editAsText sample.");
body.insertHorizontalRule(0);
body.insertParagraph(0, "An example.");

12/26/2015 8:01 PM

Class Table | Apps Script | Google Developers

5 of 19

https://developers.google.com/apps-script/reference/document/table#fi...

// Delete " sample.\n\n An" removing the horizontal rule in the process.
body.editAsText().deleteText(14, 25);

Return
Text a text version of the current element

findElement(elementType)
Searches the contents of the element for a descendant of the speci ed type.

Parameters
Name

Type

Description

elementType

ElementType

the type of element to search for

Return
RangeElement a search result indicating the position of the search element

findElement(elementType, from)
Searches the contents of the element for a descendant of the speci ed type, starting from the
speci ed RangeElement.

// Get the body section of the active document.


var body = DocumentApp.getActiveDocument().getBody();
// Define the search parameters.
var searchType = DocumentApp.ElementType.PARAGRAPH;
var searchHeading = DocumentApp.ParagraphHeading.HEADING1;
var searchResult = null;
// Search until the paragraph is found.
while (searchResult = body.findElement(searchType, searchResult)) {
var par = searchResult.getElement().asParagraph();

12/26/2015 8:01 PM

Class Table | Apps Script | Google Developers

6 of 19

https://developers.google.com/apps-script/reference/document/table#fi...

if (par.getHeading() == searchHeading) {
// Found one, update and stop.
par.setText('This is the first header.');
return;
}
}

Parameters
Name

Type

Description

elementType

ElementType

the type of element to search for

from

RangeElement

the search result to search from

Return
RangeElement a search result indicating the next position of the search element

findText(searchPattern)
Searches the contents of the element for the speci ed text pattern using regular expressions.
A subset of the JavaScript regular expression features are not fully supported, such as capture
groups and mode modi ers.
The provided regular expression pattern is independently matched against each text block
contained in the current element.

Parameters
Name

Type

Description

searchPattern

String

the pattern to search for

Return
RangeElement a search result indicating the position of the search text, or null if there is no
match

12/26/2015 8:01 PM

Class Table | Apps Script | Google Developers

7 of 19

https://developers.google.com/apps-script/reference/document/table#fi...

findText(searchPattern, from)
Searches the contents of the element for the speci ed text pattern, starting from a given search
result.
A subset of the JavaScript regular expression features are not fully supported, such as capture
groups and mode modi ers.
The provided regular expression pattern is independently matched against each text block
contained in the current element.

Parameters
Name

Type

Description

searchPattern

String

the pattern to search for

from

RangeElement

the search result to search from

Return
RangeElement a search result indicating the next position of the search text, or null if there is
no match

getAttributes()
Retrieves the element's attributes.
The result is an object containing a property for each valid element attribute where each property
name corresponds to an item in the DocumentApp.Attribute enumeration.

var body = DocumentApp.getActiveDocument().getBody();


// Append a styled paragraph.
var par = body.appendParagraph('A bold, italicized paragraph.');
par.setBold(true);
par.setItalic(true);
// Retrieve the paragraph's attributes.
var atts = par.getAttributes();

12/26/2015 8:01 PM

Class Table | Apps Script | Google Developers

8 of 19

https://developers.google.com/apps-script/reference/document/table#fi...

// Log the paragraph attributes.


for (var att in atts) {
Logger.log(att + ":" + atts[att]);
}

Return
Object the element's attributes

getBorderColor()
Retrieves the border color.

Return
String the border color

getBorderWidth()
Retrieves the border width, in points.

Return
Number the border width, in points

getCell(rowIndex, cellIndex)
Retrieves the TableCell at the speci ed row and cell indices.

Parameters
Name

Type

Description

rowIndex

Integer

the index of the row containing the cell to retrieve

cellIndex

Integer

the index of the cell to retrieve

12/26/2015 8:01 PM

Class Table | Apps Script | Google Developers

9 of 19

https://developers.google.com/apps-script/reference/document/table#fi...

Return
TableCell the table cell

getChild(childIndex)
Retrieves the child element at the speci ed child index.

// Get the body section of the active document.


var body = DocumentApp.getActiveDocument().getBody();
// Obtain the first element in the document.
var firstChild = body.getChild(0);
// If it's a paragraph, set its contents.
if (firstChild.getType() == DocumentApp.ElementType.PARAGRAPH) {
firstChild.asParagraph().setText("This is the first paragraph.");
}

Parameters
Name

Type

Description

childIndex

Integer

the index of the child element to retrieve

Return
Element the child element at the speci ed index

getChildIndex(child)
Retrieves the child index for the speci ed child element.

Parameters
Name

Type

Description

12/26/2015 8:01 PM

Class Table | Apps Script | Google Developers

10 of 19

child

Element

https://developers.google.com/apps-script/reference/document/table#fi...

the child element for which to retrieve the index

Return
Integer the child index

getColumnWidth(columnIndex)
Retrieves the width of the speci ed table column, in points.

Parameters
Name

Type

Description

columnIndex

Integer

the column index

Return
Number the column width, in points

getLinkUrl()
Retrieves the link url.

Return
String the link url, or null if the element contains multiple values for this attribute

getNextSibling()
Retrieves the element's next sibling element.
The next sibling has the same parent and follows the current element.

Return
Element the next sibling element

12/26/2015 8:01 PM

Class Table | Apps Script | Google Developers

11 of 19

https://developers.google.com/apps-script/reference/document/table#fi...

getNumChildren()
Retrieves the number of children.

// Get the body section of the active document.


var body = DocumentApp.getActiveDocument().getBody();
// Log the number of elements in the document.
Logger.log("There are " + body.getNumChildren() +
" elements in the document body.");

Return
Integer the number of children

getNumRows()
Retrieves the number of TableRows.

Return
Integer the number of table rows

getParent()
Retrieves the element's parent element.
The parent element contains the current element.

Return
ContainerElement the parent element

getPreviousSibling()

12/26/2015 8:01 PM

Class Table | Apps Script | Google Developers

12 of 19

https://developers.google.com/apps-script/reference/document/table#fi...

Retrieves the element's previous sibling element.


The previous sibling has the same parent and precedes the current element.

Return
Element the previous sibling element

getRow(rowIndex)
Retrieves the TableRow at the speci ed row index.

Parameters
Name

Type

Description

rowIndex

Integer

the index of the row to retrieve

Return
TableRow the table row

getText()
Retrieves the contents of the element as a text string.

Return
String the contents of the element as text string

getTextAlignment()
Gets the text alignment. The available types of alignment are
DocumentApp.TextAlignment.NORMAL, DocumentApp.TextAlignment.SUBSCRIPT, and
DocumentApp.TextAlignment.SUPERSCRIPT.

Return

12/26/2015 8:01 PM

Class Table | Apps Script | Google Developers

13 of 19

https://developers.google.com/apps-script/reference/document/table#fi...

TextAlignment the type of text alignment, or null if the text contains multiple types of text
alignments or if the text alignment has never been set

getType()
Retrieves the element's ElementType.
Use getType() to determine the exact type of a given element.

var body = DocumentApp.getActiveDocument().getBody();


// Obtain the first element in the document body.
var firstChild = body.getChild(0);
// Use getType() to determine the element's type.
if (firstChild.getType() == DocumentApp.ElementType.PARAGRAPH) {
Logger.log('The first element is a paragraph.');
} else {
Logger.log('The first element is not a paragraph.');
}

Return
ElementType the element type

insertTableRow(childIndex)
Creates and inserts a new TableRow at the speci ed index.

Parameters
Name

Type

Description

childIndex

Integer

the index at which to insert the element

Return

12/26/2015 8:01 PM

Class Table | Apps Script | Google Developers

14 of 19

https://developers.google.com/apps-script/reference/document/table#fi...

TableRow the current element

insertTableRow(childIndex, tableRow)
Inserts the given TableRow at the speci ed index.

Parameters
Name

Type

Description

childIndex

Integer

the index at which to insert the element

tableRow

TableRow

the table row to insert

Return
TableRow the inserted table row element

isAtDocumentEnd()
Determines whether the element is at the end of the Document.

Return
Boolean whether the element is at the end of the document

removeChild(child)
Removes the speci ed child element.

Parameters
Name

Type

Description

child

Element

the child element to remove

Return

12/26/2015 8:01 PM

Class Table | Apps Script | Google Developers

15 of 19

https://developers.google.com/apps-script/reference/document/table#fi...

Table the current element

removeFromParent()
Removes the element from its parent.

var body = DocumentApp.getActiveDocument().getBody();


// Remove all images in the document body.
var imgs = body.getImages();
for (var i = 0; i < imgs.length; i++) {
imgs[i].removeFromParent();
}

Return
Table the removed element

removeRow(rowIndex)
Removes the TableRow at the speci ed row index.

Parameters
Name

Type

Description

rowIndex

Integer

the index of the row to remove

Return
TableRow the removed row

replaceText(searchPattern, replacement)
Replaces all occurrences of a given text pattern with a given replacement string, using regular
expressions.

12/26/2015 8:01 PM

Class Table | Apps Script | Google Developers

16 of 19

https://developers.google.com/apps-script/reference/document/table#fi...

A subset of the JavaScript regular expression features are not fully supported, such as capture
groups and mode modi ers.
The provided regular expression pattern is independently matched against each text block
contained in the current element.

var body = DocumentApp.getActiveDocument().getBody();


// Clear the text surrounding "Apps Script", with or without text.
body.replaceText("^.*Apps ?Script.*$", "Apps Script");

Parameters
Name

Type

Description

searchPattern

String

the regex pattern to search for

replacement

String

the text to use as replacement

Return
Element the current element

setAttributes(attributes)
Sets the element's attributes.
The speci ed attributes parameter must be an object where each property name is an item in the
DocumentApp.Attribute enumeration and each property value is the new value to be applied.

var body = DocumentApp.getActiveDocument().getBody();


// Define a custom paragraph style.
var style = {};
style[DocumentApp.Attribute.HORIZONTAL_ALIGNMENT] =
DocumentApp.HorizontalAlignment.RIGHT;
style[DocumentApp.Attribute.FONT_FAMILY] = 'Calibri';
style[DocumentApp.Attribute.FONT_SIZE] = 18;
style[DocumentApp.Attribute.BOLD] = true;

12/26/2015 8:01 PM

Class Table | Apps Script | Google Developers

17 of 19

https://developers.google.com/apps-script/reference/document/table#fi...

// Append a plain paragraph.


var par = body.appendParagraph('A paragraph with custom style.');
// Apply the custom style.
par.setAttributes(style);

Parameters
Name

Type

Description

attributes

Object

the element's attributes

Return
Table the current element

setBorderColor(color)
Sets the border color.

Parameters
Name

Type

Description

color

String

the border color

Return
Table the current element

setBorderWidth(width)
Sets the border width, in points.

Parameters

12/26/2015 8:01 PM

Class Table | Apps Script | Google Developers

18 of 19

https://developers.google.com/apps-script/reference/document/table#fi...

Name

Type

Description

width

Number

the border width, in points

Return
Table the current element

setColumnWidth(columnIndex, width)
Sets the width of the speci ed column, in points.

Parameters
Name

Type

Description

columnIndex

Integer

the column index

width

Number

the border width, in points

Return
Table the current element

setLinkUrl(url)
Sets the link url.

Parameters
Name

Type

Description

url

String

the link url

Return
Table the current element

12/26/2015 8:01 PM

Class Table | Apps Script | Google Developers

19 of 19

https://developers.google.com/apps-script/reference/document/table#fi...

setTextAlignment(textAlignment)
Sets the text alignment. The available types of alignment are
DocumentApp.TextAlignment.NORMAL, DocumentApp.TextAlignment.SUBSCRIPT, and
DocumentApp.TextAlignment.SUPERSCRIPT.

// Make the entire first paragraph be superscript.


var text = DocumentApp.getActiveDocument().getBody().getParagraphs()[0].editAsText
text.setTextAlignment(DocumentApp.TextAlignment.SUPERSCRIPT);

Parameters
Name

Type

Description

textAlignment

TextAlignment

the type of text alignment to apply

Return
Table the current element

Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 3.0 License, and
code samples are licensed under the Apache 2.0 License. For details, see our Site Policies.
Last updated May 19, 2015.

12/26/2015 8:01 PM