Class XWPFTable
- java.lang.Object
-
- org.apache.poi.xwpf.usermodel.XWPFTable
-
- All Implemented Interfaces:
IBodyElement
,ISDTContents
public class XWPFTable extends java.lang.Object implements 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 Modifier and Type Class Description static class
XWPFTable.XWPFBorderType
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
DEFAULT_PERCENTAGE_WIDTH
static java.lang.String
REGEX_PERCENTAGE
static java.lang.String
REGEX_WIDTH_VALUE
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
addNewCol()
add a new column for each row in this tablevoid
addNewRowBetween(int start, int end)
Deprecated.4.0.0 due to lack of implementation.void
addRow(XWPFTableRow row)
add a new Row to the tableboolean
addRow(XWPFTableRow row, int pos)
add a new Row to the table at position posXWPFTableRow
createRow()
create a new XWPFTableRow object with as many cells as the number of columns defined in that momentIBody
getBody()
java.lang.String
getBottomBorderColor()
Get bottom border colorint
getBottomBorderSize()
Get bottom border sizeint
getBottomBorderSpace()
Get bottom border spacingXWPFTable.XWPFBorderType
getBottomBorderType()
Get bottom border typeint
getCellMarginBottom()
int
getCellMarginLeft()
int
getCellMarginRight()
int
getCellMarginTop()
int
getColBandSize()
CTTbl
getCTTbl()
BodyElementType
getElementType()
returns the type of the BodyElement Tablejava.lang.String
getInsideHBorderColor()
Get inside horizontal border colorint
getInsideHBorderSize()
Get inside horizontal border sizeint
getInsideHBorderSpace()
Get inside horizontal border spacingXWPFTable.XWPFBorderType
getInsideHBorderType()
Get inside horizontal border typejava.lang.String
getInsideVBorderColor()
Get inside vertical border colorint
getInsideVBorderSize()
Get inside vertical border sizeint
getInsideVBorderSpace()
Get inside vertical border spacingXWPFTable.XWPFBorderType
getInsideVBorderType()
Get inside vertical border typejava.lang.String
getLeftBorderColor()
Get Left border colorint
getLeftBorderSize()
Get Left border sizeint
getLeftBorderSpace()
Get Left border spacingXWPFTable.XWPFBorderType
getLeftBorderType()
Get Left border typeint
getNumberOfRows()
POIXMLDocumentPart
getPart()
returns the part of the bodyElementBodyType
getPartType()
returns the partType of the bodyPart which owns the bodyElementjava.lang.String
getRightBorderColor()
Get Right border colorint
getRightBorderSize()
Get Right border sizeint
getRightBorderSpace()
Get Right border spacingXWPFTable.XWPFBorderType
getRightBorderType()
Get Right border typeXWPFTableRow
getRow(int pos)
XWPFTableRow
getRow(CTRow row)
returns the XWPFRow which belongs to the CTRow row if this row is not existing in the table null will be returnedint
getRowBandSize()
java.util.List<XWPFTableRow>
getRows()
java.lang.String
getStyleID()
get the StyleID of the tableTableRowAlign
getTableAlignment()
Returns the current table alignment or NULLjava.lang.String
getText()
Convenience method to extract text in cells.java.lang.String
getTopBorderColor()
Get top border colorint
getTopBorderSize()
Get top border sizeint
getTopBorderSpace()
Get top border spacingXWPFTable.XWPFBorderType
getTopBorderType()
Get top border typeint
getWidth()
Get the width value as an integer.double
getWidthDecimal()
Get the table width as a decimal value.TableWidthType
getWidthType()
Get the width type for the table, as anSTTblWidth.Enum
value.XWPFTableRow
insertNewTableRow(int pos)
inserts a new tablerowvoid
removeBorders()
Remove all borders from tablevoid
removeBottomBorder()
Remove bottom borders for tablevoid
removeInsideHBorder()
Remove inside horizontal borders for tablevoid
removeInsideVBorder()
Remove inside vertical borders for tablevoid
removeLeftBorder()
Remove left borders for tablevoid
removeRightBorder()
Remove right borders for tableboolean
removeRow(int pos)
Remove a row at position pos from the tablevoid
removeTableAlignment()
Removes the table alignment attribute from a tablevoid
removeTopBorder()
Remove top borders for tablevoid
setBottomBorder(XWPFTable.XWPFBorderType type, int size, int space, java.lang.String rgbColor)
Set Bottom borders for tablevoid
setCellMargins(int top, int left, int bottom, int right)
void
setColBandSize(int size)
void
setInsideHBorder(XWPFTable.XWPFBorderType type, int size, int space, java.lang.String rgbColor)
Set Inside horizontal borders for a tablevoid
setInsideVBorder(XWPFTable.XWPFBorderType type, int size, int space, java.lang.String rgbColor)
Set Inside Vertical borders for tablevoid
setLeftBorder(XWPFTable.XWPFBorderType type, int size, int space, java.lang.String rgbColor)
Set Left borders for tablevoid
setRightBorder(XWPFTable.XWPFBorderType type, int size, int space, java.lang.String rgbColor)
Set Right borders for tablevoid
setRowBandSize(int size)
void
setStyleID(java.lang.String styleName)
Set the table style.void
setTableAlignment(TableRowAlign tra)
Set table alignment to specifiedTableRowAlign
void
setTopBorder(XWPFTable.XWPFBorderType type, int size, int space, java.lang.String rgbColor)
Set Top borders for tablevoid
setWidth(int width)
Set the width in 20ths of a point (twips).void
setWidth(java.lang.String widthValue)
Set the width to the value "auto", an integer value (20ths of a point), or a percentage ("nn.nn%").void
setWidthType(TableWidthType widthType)
Set the width value type for the table.
-
-
-
Field Detail
-
REGEX_PERCENTAGE
public static final java.lang.String REGEX_PERCENTAGE
- See Also:
- Constant Field Values
-
DEFAULT_PERCENTAGE_WIDTH
public static final java.lang.String DEFAULT_PERCENTAGE_WIDTH
- See Also:
- Constant Field Values
-
REGEX_WIDTH_VALUE
public static final java.lang.String REGEX_WIDTH_VALUE
- See Also:
- Constant Field Values
-
-
Method Detail
-
getText
public java.lang.String 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 @Removal @NotImplemented public void addNewRowBetween(int start, int end)
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
public XWPFTableRow createRow()
create a new XWPFTableRow object with as many cells as the number of columns defined in that moment- Returns:
- tableRow
-
getRow
public XWPFTableRow getRow(int pos)
- 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
public TableRowAlign getTableAlignment()
Returns the current table alignment or NULL- Returns:
- Table Alignment as a
TableRowAlign
enum
-
setTableAlignment
public void setTableAlignment(TableRowAlign tra)
Set table alignment to specifiedTableRowAlign
- Parameters:
tra
-TableRowAlign
to set
-
removeTableAlignment
public void removeTableAlignment()
Removes the table alignment attribute from a table
-
getStyleID
public java.lang.String getStyleID()
get the StyleID of the table- Returns:
- style-ID of the table
-
setStyleID
public void setStyleID(java.lang.String styleName)
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
public XWPFTable.XWPFBorderType getInsideHBorderType()
Get inside horizontal border type- Returns:
XWPFTable.XWPFBorderType
of 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
public java.lang.String getInsideHBorderColor()
Get inside horizontal border color- Returns:
- The color of the Inside Horizontal borders, null if missing.
-
getInsideVBorderType
public XWPFTable.XWPFBorderType getInsideVBorderType()
Get inside vertical border type- Returns:
XWPFTable.XWPFBorderType
of 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
public java.lang.String getInsideVBorderColor()
Get inside vertical border color- Returns:
- The color of the Inside vertical borders, null if missing.
-
getTopBorderType
public XWPFTable.XWPFBorderType getTopBorderType()
Get top border type- Returns:
XWPFTable.XWPFBorderType
of 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
public java.lang.String getTopBorderColor()
Get top border color- Returns:
- The color of the top borders, null if missing.
-
getBottomBorderType
public XWPFTable.XWPFBorderType getBottomBorderType()
Get bottom border type- Returns:
XWPFTable.XWPFBorderType
of 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
public java.lang.String getBottomBorderColor()
Get bottom border color- Returns:
- The color of the bottom borders, null if missing.
-
getLeftBorderType
public XWPFTable.XWPFBorderType getLeftBorderType()
Get Left border type- Returns:
XWPFTable.XWPFBorderType
of 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
public java.lang.String getLeftBorderColor()
Get Left border color- Returns:
- The color of the Left borders, null if missing.
-
getRightBorderType
public XWPFTable.XWPFBorderType getRightBorderType()
Get Right border type- Returns:
XWPFTable.XWPFBorderType
of 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
public java.lang.String 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
public void setInsideHBorder(XWPFTable.XWPFBorderType type, int size, int space, java.lang.String rgbColor)
Set Inside horizontal borders for a table- Parameters:
type
- -XWPFTable.XWPFBorderType
e.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
public void setInsideVBorder(XWPFTable.XWPFBorderType type, int size, int space, java.lang.String rgbColor)
Set Inside Vertical borders for table- Parameters:
type
- -XWPFTable.XWPFBorderType
e.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
public void setTopBorder(XWPFTable.XWPFBorderType type, int size, int space, java.lang.String rgbColor)
Set Top borders for table- Parameters:
type
- -XWPFTable.XWPFBorderType
e.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
public void setBottomBorder(XWPFTable.XWPFBorderType type, int size, int space, java.lang.String rgbColor)
Set Bottom borders for table- Parameters:
type
- -XWPFTable.XWPFBorderType
e.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
public void setLeftBorder(XWPFTable.XWPFBorderType type, int size, int space, java.lang.String rgbColor)
Set Left borders for table- Parameters:
type
- -XWPFTable.XWPFBorderType
e.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
public void setRightBorder(XWPFTable.XWPFBorderType type, int size, int space, java.lang.String rgbColor)
Set Right borders for table- Parameters:
type
- -XWPFTable.XWPFBorderType
e.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
public void addRow(XWPFTableRow row)
add a new Row to the table- Parameters:
row
- the row which should be added
-
addRow
public boolean addRow(XWPFTableRow row, int pos)
add a new Row to the table at position pos- Parameters:
row
- the row which should be added
-
insertNewTableRow
public XWPFTableRow insertNewTableRow(int pos)
inserts a new tablerow- Parameters:
pos
-- Returns:
- the inserted row
-
removeRow
public boolean removeRow(int pos) throws java.lang.IndexOutOfBoundsException
Remove a row at position pos from the table- Parameters:
pos
- position the Row in the Table- Throws:
java.lang.IndexOutOfBoundsException
-
getRows
public java.util.List<XWPFTableRow> getRows()
-
getElementType
public BodyElementType getElementType()
returns the type of the BodyElement Table- Specified by:
getElementType
in interfaceIBodyElement
- See Also:
IBodyElement.getElementType()
-
getBody
public IBody getBody()
- Specified by:
getBody
in interfaceIBodyElement
-
getPart
public POIXMLDocumentPart getPart()
returns the part of the bodyElement- Specified by:
getPart
in interfaceIBodyElement
- See Also:
IBody.getPart()
-
getPartType
public BodyType getPartType()
returns the partType of the bodyPart which owns the bodyElement- Specified by:
getPartType
in interfaceIBodyElement
- See Also:
IBody.getPartType()
-
getRow
public XWPFTableRow getRow(CTRow row)
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
-
getWidthType
public TableWidthType getWidthType()
Get the width type for the table, as anSTTblWidth.Enum
value. 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
-
setWidth
public void setWidth(java.lang.String widthValue)
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
-
setWidthType
public void setWidthType(TableWidthType widthType)
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
-
-