Table extends Component { public static Table newTable(TableContainer tableContainer) { return tableContainer.getTableBuilder().newTable(); } private  Table(TableContainer container, TableTableElement table); static Table getInstance(TableTableElement element); static Table newTable(TableContainer tableContainer); static Table newTable(TableContainer tableContainer, int numRows, int numCols); static Table newTable(TableContainer tableContainer, int numRows, int numCols, 
			double marginLeft, double marginRight); static Table newTable(TableContainer tableContainer, int numRows, int numCols, int headerRowNumber,
			int headerColumnNumber); static Table newTable(TableContainer tableContainer, String[] rowLabel, String[] columnLabel, double[][] data); static Table newTable(TableContainer tableContainer, String[] rowLabel, String[] columnLabel, String[][] data); double getWidth(); void setWidth(double width); void applyStyle(TableTemplate template); int getRowCount(); int getColumnCount(); Row appendRow(); List<Row> appendRows(int rowCount); Column appendColumn(); List<Column> appendColumns(int columnCount); TableTableElement getOdfElement(); List<Column> insertColumnsBefore(int index, int columnCount); void removeColumnsByIndex(int startIndex, int deleteColCount); List<Row> insertRowsBefore(int index, int rowCount); List<Column> getColumnList(); Iterator<Column> getColumnIterator(); List<Row> getRowList(); Iterator<Row> getRowIterator(); Column getColumnByIndex(int index); Row getRowByIndex(int index); void removeRowsByIndex(int startIndex, int deleteRowCount); void remove(); int getHeaderRowCount(); int getHeaderColumnCount(); String getTableName(); void setTableName(String tableName); boolean isProtected(); void setProtected(boolean isProtected); boolean isCellStyleInheritance(); void setCellStyleInheritance(boolean isEnabled); boolean isUseRepeat(); void setUseRepeat(boolean isSingle); CellRange getCellRangeByPosition(int startCol, int startRow, int endCol, int endRow); CellRange getCellRangeByPosition(String startAddress, String endAddress); CellRange getCellRangeByName(String name); Cell getCellByPosition(int colIndex, int rowIndex); Cell getCellByPosition(String address); void setVerticalMargin(double spaceTop, double spaceBottom); DefaultStyleHandler getStyleHandler();  }
@Test public void testNewTable() { try { TextDocument document = TextDocument.newTextDocument(); document.newParagraph("Empty table:"); createEmptyTable(document); document.newParagraph(); document.newParagraph("Table with float values:"); createTableWithData(document); document.newParagraph(); document.newParagraph("Table with string values:"); createTableWithString(document); document.save(ResourceUtilities.newTestOutputFile("CreateTableCase.odt")); } catch (Exception e) { Logger.getLogger(TableTest.class.getName()).log(Level.SEVERE, null, e); Assert.fail(e.getMessage()); } }
@Test public void testAppendRowsWithCoveredCell() { SpreadsheetDocument odsDoc = null; Table table = null; try { odsDoc = SpreadsheetDocument.newSpreadsheetDocument(); table = Table.newTable(odsDoc); mergeCells(table, 1, 1, 3, 2); mergeCells(table, 2, 4, 3, 3); } catch (Exception e) { Logger.getLogger(TableTest.class.getName()).log(Level.SEVERE, null, e); Assert.fail(e.getMessage()); } }