表格
创建基本表格
csharp
// 方式 1: 创建指定列数的表格(等宽列)
CTable table = div.CreateTable(3);
// 方式 2: 创建指定列宽的表格(点单位)
float[] columnWidths = new float[] { 100, 150, 100 };
CTable table = div.CreateTable(columnWidths);
// 方式 3: 创建指定列宽的表格(支持百分比)
CUnitValue[] columnWidths = new CUnitValue[] {
CUnitValue.CreatePercentValue(30),
CUnitValue.CreatePercentValue(40),
CUnitValue.CreatePercentValue(30)
};
CTable table = div.CreateTable(columnWidths);
// 使用全部可用宽度
table.UseAllAvailableWidth();添加表格内容
csharp
// 开始新行
table.StartNewRow();
// 创建单元格
CCell cell1 = table.CreateCell();
cell1.CreateText("单元格 1");
CCell cell2 = table.CreateCell();
cell2.CreateText("单元格 2");
// 创建跨行跨列的单元格
CCell cell3 = table.CreateCell(rowspan: 2, colspan: 2);
cell3.CreateText("跨 2 行 2 列");表格表头和表尾
csharp
// 创建表头
table.StartNewHeaderRow();
CCell headerCell1 = table.CreateHeaderCell();
headerCell1.CreateText("列 1");
CCell headerCell2 = table.CreateHeaderCell();
headerCell2.CreateText("列 2");
// 创建表尾
table.StartNewFooterRow();
CCell footerCell1 = table.CreateFooterCell();
footerCell1.CreateText("合计");
CCell footerCell2 = table.CreateFooterCell();
footerCell2.CreateText("1000");
// 创建表格标题
CDiv caption = table.CreateCaption();
caption.CreateText("销售数据表");设置表格样式
csharp
// 设置边框折叠模式
table.SetBorderCollapse(CBorderCollapsePropertyValue.Collapse);
// 设置边框间距(仅在 Separate 模式下有效)
table.SetBorderCollapse(CBorderCollapsePropertyValue.Separate);
table.SetHorizontalBorderSpacing(5f);
table.SetVerticalBorderSpacing(5f);
// 设置单元格边框
using (CBorder border = new CBorder(1f))
{
border.SetType(CBorderType.Solid);
border.SetColor(CColor.Black);
cell.SetBorder(border);
}
// 设置单元格背景色
cell.SetBackgroundColor(new CColor(240, 240, 240, 255));
// 设置单元格对齐
cell.SetTextAlignment(CTextAlignment.Center);
cell.SetVerticalAlignment(CVerticalAlignment.Middle);