Tables
Creating Basic Tables
java
// Method 1: Create a table with a specified number of columns (equal-width columns)
CTable table = div.createTableElement(3);
// Method 2: Create a table with specified column widths (in points)
float[] columnWidths = new float[] { 100, 150, 100 };
CTable table1 = div.createTableElement(columnWidths);
// Method 3: Create a table with specified column widths (supports percentages)
CUnitValue[] columnWidths1 = new CUnitValue[] {
CUnitValue.CreatePercentValue(30),
CUnitValue.CreatePercentValue(40),
CUnitValue.CreatePercentValue(30)
};
CTable table2 = div.createTableElement(columnWidths1);
// Use the full available width
table2.useAllAvailableWidth();Adding Table Content
java
// Start a new row
table.startNewRow();
// Create cells
CCell cell1 = table.createCell(1, 1);
cell1.createTextElement("Cell 1");
CCell cell2 = table.createCell(1, 1);
cell2.createTextElement("Cell 2");
// Create a cell that spans multiple rows and columns
CCell cell3 = table.createCell(2, 2); // rowspan, colspan
cell3.createTextElement("Span 2 rows and 2 columns");Table Headers and Footers
java
// Create a table header
table.startNewHeaderRow();
CCell headerCell1 = table.createHeaderCell(1, 1);
headerCell1.createTextElement("Column 1");
CCell headerCell2 = table.createHeaderCell(1, 1);
headerCell2.createTextElement("Column 2");
// Create a table footer
table.startNewFooterRow();
CCell footerCell1 = table.createFooterCell(1, 1);
footerCell1.createTextElement("Total");
CCell footerCell2 = table.createFooterCell(1, 1);
footerCell2.createTextElement("1000");
// Create a table caption (title)
CDiv caption = table.createCaption();
caption.createTextElement("Sales Data Table");Set Table Styling
java
// Set the border collapse mode
table.setBorderCollapse(CBorderCollapseType.COLLAPSE);
// Set border spacing (only takes effect in Separate mode)
table.setBorderCollapse(CBorderCollapseType.SEPARATE);
table.setHorizontalBorderSpacing(5f);
table.setVerticalBorderSpacing(5f);
// Set the cell border
CBorder border = new CBorder(
CUnitValue.CreatePointValue(1),
CBorder.CBorderType.SOLID,
CColor.BLACK
);
cell.setBorder(border);
// Set the cell background color
cell.setBackgroundColor(new CColor(240, 240, 240, 255));
// Set cell alignment
cell.setTextAlignment(CTextAlignment.CENTER);
cell.setVerticalAlignment(CVerticalAlignment.MIDDLE);