C# 利用Aspose.word导出word--表格篇
发布时间:2020-12-16 01:20:24 所属栏目:百科 来源:网络整理
导读:一、直接插入表格 private void InsertTable(DocumentBuilder builder,Document doc) { // 表格列数 var cellcount = 4 ; // 表格开始编辑 Table tables = builder.StartTable(); // 表格行样式 builder.RowFormat.Alignment = RowAlignment.Center; // 表格
一、直接插入表格 private void InsertTable(DocumentBuilder builder,Document doc) { //表格列数 var cellcount = 4; //表格开始编辑 Table tables = builder.StartTable(); //表格行样式 builder.RowFormat.Alignment = RowAlignment.Center; //表格边框样式 builder.CellFormat.Borders.LineStyle = LineStyle.Single; //单元格边框颜色 builder.CellFormat.Borders.Color = Color.Black; builder.Font.Size = 10.5;//字体10.5磅 builder.Bold = true;//加粗 for (var i = 0; i < cellcount; i++) { //插入单元格 builder.InsertCell(); //单元格背景颜色 builder.CellFormat.Shading.BackgroundPatternColor = Color.LightYellow; //单元格内字体对齐方式 builder.ParagraphFormat.Alignment = ParagraphAlignment.Center; if (i == 0) { builder.Write("单元格1"); } else if (i == 1) { builder.Write("单元格2"); } else if (i == 2) { builder.Write("单元格3"); } else if (i == 3) { builder.Write("单元格4"); } } 二、获取模板表格 ? private void InsertTable(DocumentBuilder builder,Document doc) { builder.StartTable(); NodeCollection nodes = builder.Document.GetChildNodes(NodeType.Table,true); if (nodes.Count == 0) { return; } Table table = (Table)nodes[1];//获取目标表格 CellCollection cellTmp = table.Rows[0].Cells;//单元格列 var cellcount = cellTmp.Count;//列数 Row row; for (var i = 0; i < cellcount; i++) { //插入单元格 builder.InsertCell(); if (i == 0) { builder.Write("单元格1"); } else if (i == 1) { builder.Write("单元格2"); } else if (i == 2) { builder.Write("单元格3"); } else if (i == 3) { builder.Write("单元格4"); } } 二、设置表格单元格长度 builder.StartTable(); //插入由三个具有不同首选宽度的单元格组成的表行。 //插入一个绝对大小的单元格。 builder.InsertCell(); builder.CellFormat.PreferredWidth = PreferredWidth.FromPoints(40); builder.CellFormat.Shading.BackgroundPatternColor = Color.LightYellow; builder.Writeln("Cell at 40 points width"); //插入一个相对大小(百分比)的单元格。 builder.InsertCell(); builder.CellFormat.PreferredWidth = PreferredWidth.FromPercent(20); builder.CellFormat.Shading.BackgroundPatternColor = Color.LightBlue; builder.Writeln("Cell at 20% width"); //插入一个自动大小的单元格。 builder.InsertCell(); builder.CellFormat.PreferredWidth = PreferredWidth.Auto; builder.CellFormat.Shading.BackgroundPatternColor = Color.LightGreen; builder.Writeln("Cell automatically sized. The size of this cell is calculated from the table preferred width."); builder.Writeln("In this case the cell will fill up the rest of the available space."); builder.EndTable(); 三、单元格合并行(builder.CellFormat.HorizontalMerge?) for (var i = 0; i < 4; i++) { builder.InsertCell(); if (i == 0) { builder.Write("单元格1"); 四、单元格合并列(builder.CellFormat.VerticalMerge) for (var i = 0; i < 4; i++) { builder.InsertCell(); builder.CellFormat.HorizontalMerge = CellMerge.None; builder.CellFormat.VerticalMerge = CellMerge.None; if (i == 0) { builder.Write("单元格1"); } else if (i == 3) { //行合并开始 builder.CellFormat.VerticalMerge = CellMerge.First; builder.Write("单元格3"); } else if (i > 1) { builder.Write("单元格"); } } for (var i = 0; i < 4; i++) { builder.InsertCell(); if (i == 0) { builder.Write("单元格1"); } else if (i == 3) { //合并行 builder.CellFormat.VerticalMerge = CellMerge.Previous; } else if (i > 1) { builder.Write("单元格"); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |