Class XWPFTable
- All Implemented Interfaces:
IBodyElement,ISDTContents
Sketch of XWPFTable class. Only table's text is being hold.
Specifies the contents of a table present in the document. A table is a set of paragraphs (and other block-level content) arranged in rows and columns.
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringprotected IBodystatic final Stringstatic final Stringprotected final List<XWPFTableRow>protected StringBuilder -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidadd a new column for each row in this tablevoidaddNewRowBetween(int start, int end) Deprecated.4.0.0 due to lack of implementation.voidaddRow(XWPFTableRow row) add a new Row to the tablebooleanaddRow(XWPFTableRow row, int pos) add a new Row to the table at position poscreate a new XWPFTableRow object with as many cells as the number of columns defined in that momentgetBody()Get bottom border colorintGet bottom border sizeintGet bottom border spacingGet bottom border typeintintintintintorg.openxmlformats.schemas.wordprocessingml.x2006.main.CTTblgetCTTbl()returns the type of the BodyElement TableGet inside horizontal border colorintGet inside horizontal border sizeintGet inside horizontal border spacingGet inside horizontal border typeGet inside vertical border colorintGet inside vertical border sizeintGet inside vertical border spacingGet inside vertical border typeGet Left border colorintGet Left border sizeintGet Left border spacingGet Left border typeintgetPart()returns the part of the bodyElementreturns the partType of the bodyPart which owns the bodyElementGet Right border colorintGet Right border sizeintGet Right border spacingGet Right border typegetRow(int pos) getRow(org.openxmlformats.schemas.wordprocessingml.x2006.main.CTRow row) returns the XWPFRow which belongs to the CTRow row if this row is not existing in the table null will be returnedintgetRows()get the StyleID of the tableReturns the current table alignment or NULLgetText()Convenience method to extract text in cells.Get top border colorintGet top border sizeintGet top border spacingGet top border typeintgetWidth()Get the width value as an integer.doubleGet the table width as a decimal value.protected static doublegetWidthDecimal(org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTblWidth ctWidth) Get the width as a decimal value.Get the width type for the table, as anSTTblWidth.Enumvalue.protected static TableWidthTypegetWidthType(org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTblWidth ctWidth) Get the width type from the width valueinsertNewTableRow(int pos) inserts a new tablerowvoidRemove all borders from tablevoidRemove bottom borders for tablevoidRemove inside horizontal borders for tablevoidRemove inside vertical borders for tablevoidRemove left borders for tablevoidRemove right borders for tablebooleanremoveRow(int pos) Remove a row at position pos from the tablevoidRemoves the table alignment attribute from a tablevoidRemove top borders for tablevoidsetBottomBorder(XWPFTable.XWPFBorderType type, int size, int space, String rgbColor) Set Bottom borders for tablevoidsetCellMargins(int top, int left, int bottom, int right) voidsetColBandSize(int size) voidsetInsideHBorder(XWPFTable.XWPFBorderType type, int size, int space, String rgbColor) Set Inside horizontal borders for a tablevoidsetInsideVBorder(XWPFTable.XWPFBorderType type, int size, int space, String rgbColor) Set Inside Vertical borders for tablevoidsetLeftBorder(XWPFTable.XWPFBorderType type, int size, int space, String rgbColor) Set Left borders for tablevoidsetRightBorder(XWPFTable.XWPFBorderType type, int size, int space, String rgbColor) Set Right borders for tablevoidsetRowBandSize(int size) voidsetStyleID(String styleName) Set the table style.voidSet table alignment to specifiedTableRowAlignvoidsetTopBorder(XWPFTable.XWPFBorderType type, int size, int space, String rgbColor) Set Top borders for tablevoidsetWidth(int width) Set the width in 20ths of a point (twips).voidSet the width to the value "auto", an integer value (20ths of a point), or a percentage ("nn.nn%").protected static voidsetWidthPercentage(org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTblWidth ctWidth, String widthValue) Set the underlying table width value to a percentage value.voidsetWidthType(TableWidthType widthType) Set the width value type for the table.protected static voidsetWidthType(TableWidthType widthType, org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTblWidth ctWidth) Set the width type if different from current width typeprotected static voidsetWidthValue(String widthValue, org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTblWidth ctWidth) Set the width value from a string
-
Field Details
-
REGEX_PERCENTAGE
- See Also:
-
DEFAULT_PERCENTAGE_WIDTH
- See Also:
-
REGEX_WIDTH_VALUE
- See Also:
-
text
-
tableRows
-
part
-
-
Constructor Details
-
XWPFTable
public XWPFTable(org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTbl table, IBody part, int row, int col) -
XWPFTable
-
-
Method Details
-
getCTTbl
- Returns:
- ctTbl object
-
getText
Convenience method to extract text in cells. This does not extract text recursively in cells, and it does not currently include text in SDT (form) components.To get all text within a table, see XWPFWordExtractor's appendTableText as an example.
- Returns:
- text
-
addNewRowBetween
Deprecated.4.0.0 due to lack of implementation.This method has existed since 2008 without an implementation. It will be removed unless an implementation is provided. -
addNewCol
public void addNewCol()add a new column for each row in this table -
createRow
create a new XWPFTableRow object with as many cells as the number of columns defined in that moment- Returns:
- tableRow
-
getRow
- Parameters:
pos- - index of the row- Returns:
- the row at the position specified or null if no rows is defined or if the position is greather than the max size of rows array
-
getWidth
public int getWidth()Get the width value as an integer.If the width type is AUTO, DXA, or NIL, the value is 20ths of a point. If the width type is PCT, the value is the percentage times 50 (e.g., 2500 for 50%).
- Returns:
- width value as an integer
-
setWidth
public void setWidth(int width) Set the width in 20ths of a point (twips).- Parameters:
width- Width value (20ths of a point)
-
getNumberOfRows
public int getNumberOfRows()- Returns:
- number of rows in table
-
getTableAlignment
Returns the current table alignment or NULL- Returns:
- Table Alignment as a
TableRowAlignenum
-
setTableAlignment
Set table alignment to specifiedTableRowAlign- Parameters:
tra-TableRowAlignto set
-
removeTableAlignment
public void removeTableAlignment()Removes the table alignment attribute from a table -
getStyleID
get the StyleID of the table- Returns:
- style-ID of the table
-
setStyleID
Set the table style. If the style is not defined in the document, MS Word will set the table style to "Normal".- Parameters:
styleName- - the style name to apply to this table
-
getInsideHBorderType
Get inside horizontal border type- Returns:
XWPFTable.XWPFBorderTypeof the inside horizontal borders or null if missing
-
getInsideHBorderSize
public int getInsideHBorderSize()Get inside horizontal border size- Returns:
- The width of the Inside Horizontal borders in 1/8th points, -1 if missing.
-
getInsideHBorderSpace
public int getInsideHBorderSpace()Get inside horizontal border spacing- Returns:
- The offset to the Inside Horizontal borders in points, -1 if missing.
-
getInsideHBorderColor
Get inside horizontal border color- Returns:
- The color of the Inside Horizontal borders, null if missing.
-
getInsideVBorderType
Get inside vertical border type- Returns:
XWPFTable.XWPFBorderTypeof the inside vertical borders or null if missing
-
getInsideVBorderSize
public int getInsideVBorderSize()Get inside vertical border size- Returns:
- The width of the Inside vertical borders in 1/8th points, -1 if missing.
-
getInsideVBorderSpace
public int getInsideVBorderSpace()Get inside vertical border spacing- Returns:
- The offset to the Inside vertical borders in points, -1 if missing.
-
getInsideVBorderColor
Get inside vertical border color- Returns:
- The color of the Inside vertical borders, null if missing.
-
getTopBorderType
Get top border type- Returns:
XWPFTable.XWPFBorderTypeof the top borders or null if missing
-
getTopBorderSize
public int getTopBorderSize()Get top border size- Returns:
- The width of the top borders in 1/8th points, -1 if missing.
-
getTopBorderSpace
public int getTopBorderSpace()Get top border spacing- Returns:
- The offset to the top borders in points, -1 if missing.
-
getTopBorderColor
Get top border color- Returns:
- The color of the top borders, null if missing.
-
getBottomBorderType
Get bottom border type- Returns:
XWPFTable.XWPFBorderTypeof the bottom borders or null if missing
-
getBottomBorderSize
public int getBottomBorderSize()Get bottom border size- Returns:
- The width of the bottom borders in 1/8th points, -1 if missing.
-
getBottomBorderSpace
public int getBottomBorderSpace()Get bottom border spacing- Returns:
- The offset to the bottom borders in points, -1 if missing.
-
getBottomBorderColor
Get bottom border color- Returns:
- The color of the bottom borders, null if missing.
-
getLeftBorderType
Get Left border type- Returns:
XWPFTable.XWPFBorderTypeof the Left borders or null if missing
-
getLeftBorderSize
public int getLeftBorderSize()Get Left border size- Returns:
- The width of the Left borders in 1/8th points, -1 if missing.
-
getLeftBorderSpace
public int getLeftBorderSpace()Get Left border spacing- Returns:
- The offset to the Left borders in points, -1 if missing.
-
getLeftBorderColor
Get Left border color- Returns:
- The color of the Left borders, null if missing.
-
getRightBorderType
Get Right border type- Returns:
XWPFTable.XWPFBorderTypeof the Right borders or null if missing
-
getRightBorderSize
public int getRightBorderSize()Get Right border size- Returns:
- The width of the Right borders in 1/8th points, -1 if missing.
-
getRightBorderSpace
public int getRightBorderSpace()Get Right border spacing- Returns:
- The offset to the Right borders in points, -1 if missing.
-
getRightBorderColor
Get Right border color- Returns:
- The color of the Right borders, null if missing.
-
getRowBandSize
public int getRowBandSize() -
setRowBandSize
public void setRowBandSize(int size) -
getColBandSize
public int getColBandSize() -
setColBandSize
public void setColBandSize(int size) -
setInsideHBorder
Set Inside horizontal borders for a table- Parameters:
type- -XWPFTable.XWPFBorderTypee.g. single, double, thicksize- - Specifies the width of the current border. The width of this border is specified in measurements of eighths of a point, with a minimum value of two (onefourth of a point) and a maximum value of 96 (twelve points). Any values outside this range may be reassigned to a more appropriate value.space- - Specifies the spacing offset that shall be used to place this border on the tablergbColor- - This color may either be presented as a hex value (in RRGGBB format), or auto to allow a consumer to automatically determine the border color as appropriate.
-
setInsideVBorder
Set Inside Vertical borders for table- Parameters:
type- -XWPFTable.XWPFBorderTypee.g. single, double, thicksize- - Specifies the width of the current border. The width of this border is specified in measurements of eighths of a point, with a minimum value of two (onefourth of a point) and a maximum value of 96 (twelve points). Any values outside this range may be reassigned to a more appropriate value.space- - Specifies the spacing offset that shall be used to place this border on the tablergbColor- - This color may either be presented as a hex value (in RRGGBB format), or auto to allow a consumer to automatically determine the border color as appropriate.
-
setTopBorder
Set Top borders for table- Parameters:
type- -XWPFTable.XWPFBorderTypee.g. single, double, thicksize- - Specifies the width of the current border. The width of this border is specified in measurements of eighths of a point, with a minimum value of two (onefourth of a point) and a maximum value of 96 (twelve points). Any values outside this range may be reassigned to a more appropriate value.space- - Specifies the spacing offset that shall be used to place this border on the tablergbColor- - This color may either be presented as a hex value (in RRGGBB format), or auto to allow a consumer to automatically determine the border color as appropriate.
-
setBottomBorder
Set Bottom borders for table- Parameters:
type- -XWPFTable.XWPFBorderTypee.g. single, double, thicksize- - Specifies the width of the current border. The width of this border is specified in measurements of eighths of a point, with a minimum value of two (onefourth of a point) and a maximum value of 96 (twelve points). Any values outside this range may be reassigned to a more appropriate value.space- - Specifies the spacing offset that shall be used to place this border on the tablergbColor- - This color may either be presented as a hex value (in RRGGBB format), or auto to allow a consumer to automatically determine the border color as appropriate.
-
setLeftBorder
Set Left borders for table- Parameters:
type- -XWPFTable.XWPFBorderTypee.g. single, double, thicksize- - Specifies the width of the current border. The width of this border is specified in measurements of eighths of a point, with a minimum value of two (onefourth of a point) and a maximum value of 96 (twelve points). Any values outside this range may be reassigned to a more appropriate value.space- - Specifies the spacing offset that shall be used to place this border on the tablergbColor- - This color may either be presented as a hex value (in RRGGBB format), or auto to allow a consumer to automatically determine the border color as appropriate.
-
setRightBorder
Set Right borders for table- Parameters:
type- -XWPFTable.XWPFBorderTypee.g. single, double, thicksize- - Specifies the width of the current border. The width of this border is specified in measurements of eighths of a point, with a minimum value of two (onefourth of a point) and a maximum value of 96 (twelve points). Any values outside this range may be reassigned to a more appropriate value.space- - Specifies the spacing offset that shall be used to place this border on the tablergbColor- - This color may either be presented as a hex value (in RRGGBB format), or auto to allow a consumer to automatically determine the border color as appropriate.
-
removeInsideHBorder
public void removeInsideHBorder()Remove inside horizontal borders for table -
removeInsideVBorder
public void removeInsideVBorder()Remove inside vertical borders for table -
removeTopBorder
public void removeTopBorder()Remove top borders for table -
removeBottomBorder
public void removeBottomBorder()Remove bottom borders for table -
removeLeftBorder
public void removeLeftBorder()Remove left borders for table -
removeRightBorder
public void removeRightBorder()Remove right borders for table -
removeBorders
public void removeBorders()Remove all borders from table -
getCellMarginTop
public int getCellMarginTop() -
getCellMarginLeft
public int getCellMarginLeft() -
getCellMarginBottom
public int getCellMarginBottom() -
getCellMarginRight
public int getCellMarginRight() -
setCellMargins
public void setCellMargins(int top, int left, int bottom, int right) -
addRow
add a new Row to the table- Parameters:
row- the row which should be added
-
addRow
add a new Row to the table at position pos- Parameters:
row- the row which should be added
-
insertNewTableRow
inserts a new tablerow- Parameters:
pos-- Returns:
- the inserted row
-
removeRow
Remove a row at position pos from the table- Parameters:
pos- position the Row in the Table- Throws:
IndexOutOfBoundsException
-
getRows
-
getElementType
returns the type of the BodyElement Table- Specified by:
getElementTypein interfaceIBodyElement- See Also:
-
getBody
- Specified by:
getBodyin interfaceIBodyElement
-
getPart
returns the part of the bodyElement- Specified by:
getPartin interfaceIBodyElement- See Also:
-
getPartType
returns the partType of the bodyPart which owns the bodyElement- Specified by:
getPartTypein interfaceIBodyElement- See Also:
-
getRow
returns the XWPFRow which belongs to the CTRow row if this row is not existing in the table null will be returned -
getWidthDecimal
public double getWidthDecimal()Get the table width as a decimal value.If the width type is DXA or AUTO, then the value will always have a fractional part of zero (because these values are really integers). If the with type is percentage, then value may have a non-zero fractional part.
- Returns:
- Width value as a double-precision decimal.
- Since:
- 4.0.0
-
getWidthDecimal
protected static double getWidthDecimal(org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTblWidth ctWidth) Get the width as a decimal value.This method is also used by table cells.
- Parameters:
ctWidth- Width value to evaluate.- Returns:
- Width value as a decimal
- Since:
- 4.0.0
-
getWidthType
Get the width type for the table, as anSTTblWidth.Enumvalue. A table width can be specified as an absolute measurement (an integer number of twips), a percentage, or the value "AUTO".- Returns:
- The width type.
- Since:
- 4.0.0
-
getWidthType
protected static TableWidthType getWidthType(org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTblWidth ctWidth) Get the width type from the width value- Parameters:
ctWidth- CTTblWidth to evalute- Returns:
- The table width type
- Since:
- 4.0.0
-
setWidth
Set the width to the value "auto", an integer value (20ths of a point), or a percentage ("nn.nn%").- Parameters:
widthValue- String matching one of "auto", [0-9]+, or [0-9]+(\.[0-9]+)%.- Since:
- 4.0.0
-
setWidthValue
protected static void setWidthValue(String widthValue, org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTblWidth ctWidth) Set the width value from a string- Parameters:
widthValue- The width value stringctWidth- CTTblWidth to set the value on.
-
setWidthPercentage
protected static void setWidthPercentage(org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTblWidth ctWidth, String widthValue) Set the underlying table width value to a percentage value.- Parameters:
ctWidth- The CTTblWidth to set the value onwidthValue- String width value in form "33.3%" or an integer that is 50 times desired percentage value (e.g, 2500 for 50%)- Since:
- 4.0.0
-
setWidthType
Set the width value type for the table.If the width type is changed from the current type and the currently-set value is not consistent with the new width type, the value is reset to the default value for the specified width type.
- Parameters:
widthType- Width type- Since:
- 4.0.0
-
setWidthType
protected static void setWidthType(TableWidthType widthType, org.openxmlformats.schemas.wordprocessingml.x2006.main.CTTblWidth ctWidth) Set the width type if different from current width type- Parameters:
widthType- The new width typectWidth- CTTblWidth to set the type on- Since:
- 4.0.0
-