关于生成表格
1.
//获取单元格(第1行第1个单元格)并添加文本
TextRange range = table[0, 0].AddParagraph().AppendText("产品");//添加文本
range.CharacterFormat.FontName = "Arial";//字体类型
range.CharacterFormat.FontSize = 12; //字体大小
range.CharacterFormat.TextColor = Color.Teal;//字体颜色
range.CharacterFormat.Bold = true; //粗体
2.
//添加第1行
TableRow row1 = table.AddRow();
//添加第1个单元格到第1行
TableCell cell1 = row1.AddCell();
TextRange range =cell1.AddParagraph().AppendText("姓 名");
range.CharacterFormat.FontName = "Arial";
range.CharacterFormat.FontSize = 12;
range.CharacterFormat.TextColor = Color.Teal;
range.CharacterFormat.Bold = true;
//设置表格列宽适应窗体,还有适应内容,列宽的。
table.AutoFit(AutoFitBehaviorType.AutoFitToWindow);
这是自己添加行和列的,可能会出现下面截图的后果。
3.
//添加嵌套表格到第2行第3个单元格
Table nestedTable = table[1, 2].AddTable(true);
//在某个单元格内添加子表格 ,然后进行操作
//cell1.Paragraphs.Clear(); //清空这一单元格的内容
//cell1.Paragraphs.RemoveAt(1);//删除这一单元格插入的第2格内容
4.
//水平合并(合并第1行的第1、2、3、4个单元格)
table.ApplyHorizontalMerge(0, 0, 3);
//垂直合并(合并第1列的第3、4个单元格)
table.ApplyVerticalMerge(0, 2, 3);
这个合并也可以动态的设置表格时合并,但是需要插入好内容,或者设置好行和列,然后合并,插入好内容后合并的为前面那个单元格。
5.拆分
//将第4行的第4个单元格拆分为3列2行
table.Rows[3].Cells[3].SplitCell(3, 2);
6.
//添加一行到表格的最后
table.AddRow(true, 4);
//插入一行到表格的第三行
table.Rows.Insert(2, table.AddRow());
//添加列
//添加一列到表格,设置单元格的宽度和宽度类型
for (int i = 0; i < table.Rows.Count; i++)
{
TableCell cell = table.Rows[i].AddCell(true);
cell.Width = table[0, 0].Width;
cell.CellWidthType = table[0, 0].CellWidthType;
}
//删除第二行
table.Rows.RemoveAt(1);
//删除第二列
for (int i = 0; i < table.Rows.Count; i++)
{
table.Rows[i].Cells.RemoveAt(1);
}
//设置第一行的行高
table.Rows[0].Height = 40;
for (int i = 0; i < table.Rows.Count; i++)
{
//设置第二列的列宽
table.Rows[i].Cells[1].Width = 40;
}
//获取第三行,并复制
TableRow row = table.Rows[2].Clone();
//将复制后的行作为第四行插入到表格
table.Rows.Insert(3, row);
//table.Rows.Add(row);//默认将复制后的行添加在表格最下方
//遍历表格每一行
for (int i = 0; i < table.Rows.Count; i++)
{
TableRow row = table.Rows[i];//获取每一行
TableCell cell = (TableCell)row.Cells[1].Clone();//获取每行中的第2个单元格,并复制
row.Cells.Add(cell);//默认在表格最后一列添加复制后的单元格
// row.Cells.Insert(3, cell);//在指定位置插入一列复制后的单元格
}