private static void ReplacePlaceholdersInTable(DocX word, string oldText, AlizhouTable newTable) { foreach (var paragraph in word.Paragraphs) { if (paragraph.Text.Contains(oldText)) { var table = AlizhouTableToTable(word, newTable); paragraph.InsertTableAfterSelf(table); paragraph.Remove(false); } } }
public static void EvaluationReportTemplateWrod() { string basePath = Environment.CurrentDirectory; string templateUrl = $"{basePath}/template/word/EvaluationReportUniversal.docx"; var templateWrod = new EvaluationReport(); templateWrod.City = "成都"; templateWrod.BidSection = "一标段"; templateWrod.ReportDate = DateTime.Now.ToString("yyyy-MM-dd"); templateWrod.ProjectName = "蓝光空港国际城住宅项目"; templateWrod.ProjectAdress = "成都郫县"; templateWrod.EvaluationType = "专项评估"; templateWrod.GroupLeader = "张三"; templateWrod.GroupMember = "李四;王五"; templateWrod.SupervisionUnit = "成新设计院咨询部"; templateWrod.ConstructionUnit = "蓝光集团"; templateWrod.ProjectPersonInchargeName = "刘晨"; templateWrod.Composition = "项目组成"; templateWrod.MeasuringareaDescription = "精装-3标段-5栋6单元1号\n精装-3标段-6栋6单元1号\n精装-3标段-7栋6单元24号\n精装-3标段-5栋6单元12号"; #region 综合评估结果 //综合评估结果 var complexResult = new Dictionary <string, string>() { }; complexResult.Add("实测实量(xx %)", "95%"); complexResult.Add("质量风险(xx %)", "65%"); complexResult.Add("安全文明(xx %)", "75%"); complexResult.Add("管理行为(xx %)", "85%"); var complexResultTable = new AlizhouTable(2 + complexResult.Count, 4); //处理标题 complexResultTable.Rows[0].Height = 40; complexResultTable.Rows[0].Cells[0].Paragraphs[0].Run.Text = "项目标段名称"; complexResultTable.Rows[0].Cells[0].Paragraphs[0].Run.IsBold = true; complexResultTable.Rows[0].Cells[0].FillColor = Color.FromArgb(242, 242, 242); complexResultTable.Rows[0].Cells[1].Paragraphs[0].Run.Text = "分项名称"; complexResultTable.Rows[0].Cells[1].Paragraphs[0].Run.IsBold = true; complexResultTable.Rows[0].Cells[1].FillColor = Color.FromArgb(242, 242, 242); complexResultTable.Rows[0].Cells[2].Paragraphs[0].Run.Text = "分项评估结果"; complexResultTable.Rows[0].Cells[2].Paragraphs[0].Run.IsBold = true; complexResultTable.Rows[0].Cells[2].FillColor = Color.FromArgb(242, 242, 242); complexResultTable.Rows[0].Cells[3].Paragraphs[0].Run.Text = "综合评估结果"; complexResultTable.Rows[0].Cells[3].Paragraphs[0].Run.IsBold = true; complexResultTable.Rows[0].Cells[3].FillColor = Color.FromArgb(242, 242, 242); { int index = 1; foreach (var item in complexResult) { //填充数据 complexResultTable.Rows[index].Height = 37; complexResultTable.Rows[index].Cells[0].Paragraphs[0].Run.Text = "一标段"; complexResultTable.Rows[index].Cells[0].FillColor = Color.FromArgb(242, 242, 242); complexResultTable.Rows[index].Cells[1].Paragraphs[0].Run.Text = item.Key; complexResultTable.Rows[index].Cells[2].Paragraphs[0].Run.Pictures.Add(new AlizhouPicture { PictureUrl = "D://图片1.png" }); complexResultTable.Rows[index].Cells[3].Paragraphs[0].Run.Text = "99%"; index++; } } complexResultTable.Rows[complexResultTable.RowCount - 1].Height = 40; complexResultTable.Rows[complexResultTable.RowCount - 1].Cells[0].Paragraphs[0].Run.Text = "备注"; complexResultTable.Rows[complexResultTable.RowCount - 1].Cells[0].Paragraphs[0].Run.IsBold = true; complexResultTable.Rows[complexResultTable.RowCount - 1].Cells[0].FillColor = Color.FromArgb(242, 242, 242); complexResultTable.Rows[complexResultTable.RowCount - 1].Cells[1].Paragraphs[0].Run.Text = "综合评估结果=各维度成绩*各维权重"; complexResultTable.MergeCellsInColumn(0, 1, complexResultTable.RowCount - 2); complexResultTable.MergeCellsInColumn(3, 1, complexResultTable.RowCount - 1); complexResultTable.MergeCellsInRow(complexResultTable.RowCount - 1, 1, 3); templateWrod.ComplexResult = complexResultTable; #endregion #region 分项评估结果 templateWrod.SubOptionResult = new AlizhouComplex(); templateWrod.SubOptionResult.Elements.Add(new AlizhouParagraph { Alignment = Novacode.Alignment.left, Run = new AlizhouRun { IsBold = true, Text = "1、实测实量评估结果", FontFamily = "宋体", FontSize = 12 } }); templateWrod.SubOptionResult.Elements.Add(new AlizhouParagraph { Run = new AlizhouRun { Text = "表 1 实测实量评估结果分析表", FontFamily = "黑体", FontSize = 8 } }); //实量实测表格 //var measuredTable = new AlizhouTable(fbgc.Length + 5, 8); //measuredTable.Rows[0].Cells[0].Paragraphs[0].Run.Text = templateWrod.ProjectName; //measuredTable.Rows[0].Cells[0].FillColor = Color.FromArgb(242, 242, 242); //measuredTable.Rows[0].Cells[0].Paragraphs[0].Run.IsBold = true; //measuredTable.Rows[0].Cells[1].Paragraphs[0].Run.Text = "分部工程"; //measuredTable.Rows[0].Cells[1].FillColor = Color.FromArgb(242, 242, 242); //measuredTable.Rows[0].Cells[1].Paragraphs[0].Run.IsBold = true; //measuredTable.Rows[0].Cells[2].Paragraphs[0].Run.Text = "较好指标"; //measuredTable.Rows[0].Cells[2].FillColor = Color.FromArgb(242, 242, 242); //measuredTable.Rows[0].Cells[2].Paragraphs[0].Run.IsBold = true; //measuredTable.Rows[0].Cells[4].Paragraphs[0].Run.Text = "一般指标"; //measuredTable.Rows[0].Cells[4].FillColor = Color.FromArgb(242, 242, 242); //measuredTable.Rows[0].Cells[4].Paragraphs[0].Run.IsBold = true; //measuredTable.Rows[0].Cells[6].Paragraphs[0].Run.Text = "较差指标"; //measuredTable.Rows[0].Cells[6].FillColor = Color.FromArgb(242, 242, 242); //measuredTable.Rows[0].Cells[6].Paragraphs[0].Run.IsBold = true; //measuredTable.Rows[1].Height = 60; //measuredTable.Rows[1].Cells[2].Paragraphs[0].Run.Text = "名称"; //measuredTable.Rows[1].Cells[2].FillColor = Color.FromArgb(242, 242, 242); //measuredTable.Rows[1].Cells[2].Paragraphs[0].Run.IsBold = true; //measuredTable.Rows[1].Cells[3].Paragraphs[0].Run.Text = "合格率≥90%"; //measuredTable.Rows[1].Cells[3].FillColor = Color.FromArgb(242, 242, 242); //measuredTable.Rows[1].Cells[3].Paragraphs[0].Run.IsBold = true; //measuredTable.Rows[1].Cells[4].Paragraphs[0].Run.Text = "名称"; //measuredTable.Rows[1].Cells[4].FillColor = Color.FromArgb(242, 242, 242); //measuredTable.Rows[1].Cells[4].Paragraphs[0].Run.IsBold = true; //measuredTable.Rows[1].Cells[5].Paragraphs[0].Run.Text = "90%>合格率>70%"; //measuredTable.Rows[1].Cells[5].FillColor = Color.FromArgb(242, 242, 242); //measuredTable.Rows[1].Cells[5].Paragraphs[0].Run.IsBold = true; //measuredTable.Rows[1].Cells[6].Paragraphs[0].Run.Text = "名称"; //measuredTable.Rows[1].Cells[6].FillColor = Color.FromArgb(242, 242, 242); //measuredTable.Rows[1].Cells[6].Paragraphs[0].Run.IsBold = true; //measuredTable.Rows[1].Cells[7].Paragraphs[0].Run.Text = "合格率≤70%"; //measuredTable.Rows[1].Cells[7].FillColor = Color.FromArgb(242, 242, 242); //measuredTable.Rows[1].Cells[7].Paragraphs[0].Run.IsBold = true; //measuredTable.Rows[measuredTable.RowCount - 3].Cells[1].Paragraphs[0].Run.Text = "实测实量评估结果"; //measuredTable.Rows[measuredTable.RowCount - 3].Cells[1].FillColor = Color.FromArgb(242, 242, 242); //measuredTable.Rows[measuredTable.RowCount - 3].Cells[1].Paragraphs[0].Run.IsBold = true; //measuredTable.Rows[measuredTable.RowCount - 3].Cells[5].Paragraphs[0].Run.Text = "测量点总数"; //measuredTable.Rows[measuredTable.RowCount - 3].Cells[5].FillColor = Color.FromArgb(242, 242, 242); //measuredTable.Rows[measuredTable.RowCount - 3].Cells[5].Paragraphs[0].Run.IsBold = true; //measuredTable.Rows[measuredTable.RowCount - 2].Cells[5].Paragraphs[0].Run.Text = "合格点总数"; //measuredTable.Rows[measuredTable.RowCount - 2].Cells[5].FillColor = Color.FromArgb(242, 242, 242); //measuredTable.Rows[measuredTable.RowCount - 2].Cells[5].Paragraphs[0].Run.IsBold = true; //measuredTable.Rows[measuredTable.RowCount - 1].Height = 50; //measuredTable.Rows[measuredTable.RowCount - 1].Cells[0].Paragraphs[0].Run.Text = "备注"; //measuredTable.Rows[measuredTable.RowCount - 1].Cells[0].FillColor = Color.FromArgb(242, 242, 242); //measuredTable.Rows[measuredTable.RowCount - 1].Cells[0].Paragraphs[0].Run.IsBold = true; //measuredTable.Rows[measuredTable.RowCount - 1].Cells[3].Paragraphs[0].Run.Text = "实测实量评估结果=实测合格点总点数/实测点总点数*100%"; //{ // int index = 2; // foreach (var item in fbgc) // { // measuredTable.Rows[index].Cells[1].Paragraphs[0].Run.Text = item; // measuredTable.Rows[index].Cells[1].Paragraphs[0].Run.IsBold = true; // index++; // } //} //measuredTable.MergeCellsInRow(0, 2, 3); //measuredTable.MergeCellsInRow(0, 3, 4); //measuredTable.MergeCellsInRow(0, 4, 5); //measuredTable.MergeCellsInRow(measuredTable.RowCount - 3, 1, 2); //measuredTable.MergeCellsInRow(measuredTable.RowCount - 3, 2, 3); //measuredTable.MergeCellsInRow(measuredTable.RowCount - 3, 3, 4); //measuredTable.MergeCellsInRow(measuredTable.RowCount - 2, 1, 2); //measuredTable.MergeCellsInRow(measuredTable.RowCount - 2, 2, 3); //measuredTable.MergeCellsInRow(measuredTable.RowCount - 2, 3, 4); //measuredTable.MergeCellsInRow(measuredTable.RowCount - 1, 0, 2); //measuredTable.MergeCellsInRow(measuredTable.RowCount - 1, 1, 5); //measuredTable.MergeCellsInColumn(0, 0, measuredTable.RowCount - 2); //measuredTable.MergeCellsInColumn(1, 0, 1); //measuredTable.MergeCellsInColumn(3, measuredTable.RowCount - 3, measuredTable.RowCount - 2); //measuredTable.MergeCellsInColumn(1, measuredTable.RowCount - 3, measuredTable.RowCount - 2); var measuredTable = new AlizhouTable(3 + 5, 5); measuredTable.Rows[0].Height = 40; measuredTable.Rows[0].Cells[0].Paragraphs[0].Run.Text = templateWrod.ProjectName; measuredTable.Rows[0].Cells[0].FillColor = Color.FromArgb(242, 242, 242); measuredTable.Rows[0].Cells[0].Paragraphs[0].Run.IsBold = true; measuredTable.Rows[0].Cells[1].Paragraphs[0].Run.Text = "分部工程"; measuredTable.Rows[0].Cells[1].FillColor = Color.FromArgb(242, 242, 242); measuredTable.Rows[0].Cells[1].Paragraphs[0].Run.IsBold = true; measuredTable.Rows[0].Cells[2].Paragraphs[0].Run.Text = "名称"; measuredTable.Rows[0].Cells[2].FillColor = Color.FromArgb(242, 242, 242); measuredTable.Rows[0].Cells[2].Paragraphs[0].Run.IsBold = true; measuredTable.Rows[0].Cells[3].Paragraphs[0].Run.Text = "合格率"; measuredTable.Rows[0].Cells[3].FillColor = Color.FromArgb(242, 242, 242); measuredTable.Rows[0].Cells[3].Paragraphs[0].Run.IsBold = true; measuredTable.Rows[0].Cells[4].Paragraphs[0].Run.Text = "指标"; measuredTable.Rows[0].Cells[4].FillColor = Color.FromArgb(242, 242, 242); measuredTable.Rows[0].Cells[4].Paragraphs[0].Run.IsBold = true; { int index = 1; foreach (var item in new string[] { "抹灰工程", "设备安装", "门窗工程" }) { measuredTable.Rows[index].Height = 40; measuredTable.Rows[index].Cells[1].Paragraphs[0].Run.Text = item; measuredTable.Rows[index].Cells[2].Paragraphs[0].Run.Text = item + index; index++; } } measuredTable.Rows[measuredTable.RowCount - 1].Cells[0].Paragraphs[0].Run.Text = "指标说明"; measuredTable.Rows[measuredTable.RowCount - 1].Cells[0].FillColor = Color.FromArgb(242, 242, 242); measuredTable.Rows[measuredTable.RowCount - 1].Cells[0].Paragraphs[0].Run.IsBold = true; measuredTable.Rows[measuredTable.RowCount - 1].Cells[2].Paragraphs[0].Run.Text = "较好-合格率≥90%\n 一般-90%>合格率>70%\n较差-合格率≤70%"; measuredTable.Rows[measuredTable.RowCount - 2].Cells[0].Paragraphs[0].Run.Text = "备注"; measuredTable.Rows[measuredTable.RowCount - 2].Cells[0].FillColor = Color.FromArgb(242, 242, 242); measuredTable.Rows[measuredTable.RowCount - 2].Cells[0].Paragraphs[0].Run.IsBold = true; measuredTable.Rows[measuredTable.RowCount - 2].Cells[2].Paragraphs[0].Run.Text = "实测实量评估结果=实测合格点总点数/实测点总点数*100%"; measuredTable.Rows[measuredTable.RowCount - 4].Cells[0].Paragraphs[0].Run.Text = "实测实量评估结果"; measuredTable.Rows[measuredTable.RowCount - 4].Cells[0].FillColor = Color.FromArgb(242, 242, 242); measuredTable.Rows[measuredTable.RowCount - 4].Cells[0].Paragraphs[0].Run.IsBold = true; measuredTable.Rows[measuredTable.RowCount - 4].Cells[1].Paragraphs[0].Run.Text = "99.9%"; measuredTable.Rows[measuredTable.RowCount - 4].Cells[3].Paragraphs[0].Run.Text = "测量点总数"; measuredTable.Rows[measuredTable.RowCount - 4].Cells[3].FillColor = Color.FromArgb(242, 242, 242); measuredTable.Rows[measuredTable.RowCount - 4].Cells[3].Paragraphs[0].Run.IsBold = true; measuredTable.Rows[measuredTable.RowCount - 4].Cells[4].Paragraphs[0].Run.Text = "200"; measuredTable.Rows[measuredTable.RowCount - 3].Cells[3].Paragraphs[0].Run.Text = "合格点总数"; measuredTable.Rows[measuredTable.RowCount - 3].Cells[3].FillColor = Color.FromArgb(242, 242, 242); measuredTable.Rows[measuredTable.RowCount - 3].Cells[3].Paragraphs[0].Run.IsBold = true; measuredTable.Rows[measuredTable.RowCount - 3].Cells[4].Paragraphs[0].Run.Text = "180"; measuredTable.MergeCellsInColumn(0, 0, measuredTable.RowCount - 5); measuredTable.MergeCellsInRow(measuredTable.RowCount - 1, 0, 1); measuredTable.MergeCellsInRow(measuredTable.RowCount - 1, 1, 3); measuredTable.MergeCellsInRow(measuredTable.RowCount - 2, 0, 1); measuredTable.MergeCellsInRow(measuredTable.RowCount - 2, 1, 3); measuredTable.MergeCellsInRow(measuredTable.RowCount - 3, 1, 2); measuredTable.MergeCellsInRow(measuredTable.RowCount - 4, 1, 2); measuredTable.MergeCellsInColumn(0, measuredTable.RowCount - 4, measuredTable.RowCount - 3); measuredTable.MergeCellsInColumn(1, measuredTable.RowCount - 4, measuredTable.RowCount - 3); measuredTable.MergeCellsInColumn(2, measuredTable.RowCount - 4, measuredTable.RowCount - 3); templateWrod.SubOptionResult.Elements.Add(measuredTable); //风险评估部分 templateWrod.SubOptionResult.Elements.Add(new AlizhouParagraph { Alignment = Novacode.Alignment.left, Run = new AlizhouRun { IsBold = true, Text = "2、质量风险评估结果", FontFamily = "宋体", FontSize = 12 } }); templateWrod.SubOptionResult.Elements.Add(new AlizhouParagraph { Run = new AlizhouRun { Text = "表 1 质量风险评估结果分析表", FontFamily = "黑体", FontSize = 8 } }); var riskTable = new AlizhouTable(3 + 1, 3); riskTable.Rows[0].Height = 40; riskTable.Rows[0].Cells[0].Paragraphs[0].Run.Text = "质量风险评分汇总"; riskTable.Rows[0].Cells[0].FillColor = Color.FromArgb(242, 242, 242); riskTable.Rows[0].Cells[0].Paragraphs[0].Run.IsBold = true; riskTable.Rows[1].Height = 40; riskTable.Rows[1].Cells[0].Paragraphs[0].Run.Text = "分项工程"; riskTable.Rows[1].Cells[0].FillColor = Color.FromArgb(242, 242, 242); riskTable.Rows[1].Cells[0].Paragraphs[0].Run.IsBold = true; riskTable.Rows[1].Cells[1].Paragraphs[0].Run.Text = "分项合格率"; riskTable.Rows[1].Cells[1].FillColor = Color.FromArgb(242, 242, 242); riskTable.Rows[1].Cells[1].Paragraphs[0].Run.IsBold = true; riskTable.Rows[1].Cells[2].Paragraphs[0].Run.Text = "质量风险评估结果"; riskTable.Rows[1].Cells[2].FillColor = Color.FromArgb(242, 242, 242); riskTable.Rows[1].Cells[2].Paragraphs[0].Run.IsBold = true; { int index = 2; foreach (var item in new string[] { "渗漏" }) { riskTable.Rows[index].Height = 40; riskTable.Rows[index].Cells[0].Paragraphs[0].Run.Text = item; riskTable.Rows[index].Cells[0].FillColor = Color.FromArgb(242, 242, 242); riskTable.Rows[index].Cells[0].Paragraphs[0].Run.IsBold = true; riskTable.Rows[index].Cells[1].Paragraphs[0].Run.Text = "12%"; riskTable.Rows[index].Cells[2].Paragraphs[0].Run.Text = "85%"; index++; } } riskTable.Rows[riskTable.RowCount - 1].Cells[0].Paragraphs[0].Run.Text = "备注"; riskTable.Rows[riskTable.RowCount - 1].Cells[0].FillColor = Color.FromArgb(242, 242, 242); riskTable.Rows[riskTable.RowCount - 1].Cells[0].Paragraphs[0].Run.IsBold = true; riskTable.Rows[riskTable.RowCount - 1].Cells[1].Paragraphs[0].Run.Text = "质量风险评估结果=实得分/应得分*100%。"; riskTable.MergeCellsInRow(0, 0, 2); riskTable.MergeCellsInColumn(2, 2, riskTable.RowCount - 2); riskTable.MergeCellsInRow(riskTable.RowCount - 1, 1, 2); templateWrod.SubOptionResult.Elements.Add(riskTable); #endregion IWordExportService wordExportService = new WordExportService(new WordExportProvider()); var word = wordExportService.TemplateCreateWord(templateUrl, templateWrod); File.WriteAllBytes($@"{basePath}..\..\..\..\OutPut\word\OutEvaluationReportUniversal.docx", word.WordBytes); }
private static Table AlizhouTableToTable(DocX word, AlizhouTable alizhouTable) { var table = word.AddTable(alizhouTable.RowCount, alizhouTable.ColumnCount); table.Alignment = Alignment.center; table.SetBorder(TableBorderType.InsideH, new Border { }); table.SetBorder(TableBorderType.Top, new Border { }); table.SetBorder(TableBorderType.Bottom, new Border { }); table.SetBorder(TableBorderType.Left, new Border { }); table.SetBorder(TableBorderType.Right, new Border { }); table.SetBorder(TableBorderType.InsideV, new Border { }); for (int i = 0; i < alizhouTable.Rows.Count; i++) { if (alizhouTable.Rows[i].Height > 0) { table.Rows[i].Height = alizhouTable.Rows[i].Height;//设置行高 } //处理每行单元格 for (int j = 0; j < alizhouTable.Rows[i].Cells.Count; j++) { var alizhouTableCell = alizhouTable.Rows[i].Cells[j]; //设置单元格宽 if (table.Rows[i].Cells[j].Width > 0) { table.Rows[i].Cells[j].Width = alizhouTableCell.Width; } if (alizhouTableCell.FillColor != Color.Empty) { table.Rows[i].Cells[j].FillColor = alizhouTableCell.FillColor; } table.Rows[i].Cells[j].VerticalAlignment = alizhouTableCell.VerticalAlignment; table.Rows[i].Cells[j].RemoveParagraphAt(0);//移除默认段落 foreach (var item in alizhouTableCell.Paragraphs) { var p = table.Rows[i].Cells[j].InsertParagraph(); if (!string.IsNullOrEmpty(item.Run.Text)) { p.Append(item.Run.Text); } if (item.Run.IsBold) { p.Bold(); } p.FontSize(item.Run.FontSize); p.Font(item.Run.FontFamily); p.Color(item.Run.Color); p.Alignment = item.Alignment; if (item.Run.Pictures.Count > 0) { item.Run.Pictures.ForEach(t => { Stream stream = t.PictureData ?? File.OpenRead(t.PictureUrl); p.AppendPicture(word.AddImage(stream).CreatePicture(t.Width, t.Height)); }); } } } } //处理合并单元格 foreach (var item in alizhouTable.MergeCellsInColumns) { if (item.Item3 > item.Item2) { table.MergeCellsInColumn(item.Item1, item.Item2, item.Item3); } } foreach (var item in alizhouTable.MergeCellsInRows) { if (item.Item3 > item.Item2) { table.Rows[item.Item1].MergeCells(item.Item2, item.Item3); //合并之后只保留一个段落 while (table.Rows[item.Item1].Cells[item.Item2].Paragraphs.Count > 1) { table.Rows[item.Item1].Cells[item.Item2].RemoveParagraphAt(1); } } } return(table); }
private static Table AlizhouTableToTable(DocX word, AlizhouTable alizhouTable) { var table = word.AddTable(alizhouTable.RowCount, alizhouTable.ColumnCount); table.Alignment = Alignment.center; table.SetBorder(TableBorderType.InsideH, new Border { }); table.SetBorder(TableBorderType.Top, new Border { }); table.SetBorder(TableBorderType.Bottom, new Border { }); table.SetBorder(TableBorderType.Left, new Border { }); table.SetBorder(TableBorderType.Right, new Border { }); table.SetBorder(TableBorderType.InsideV, new Border { }); for (int i = 0; i < alizhouTable.Rows.Count; i++) { table.Rows[i].Height = alizhouTable.Rows[i].Height;//设置行高 //处理每行单元格 for (int j = 0; j < alizhouTable.Rows[i].Cells.Count; j++) { var alizhouTableCell = alizhouTable.Rows[i].Cells[j]; //设置单元格宽 table.Rows[i].Cells[j].Width = alizhouTableCell.Width; if (alizhouTableCell.FillColor != Color.Empty) { table.Rows[i].Cells[j].FillColor = alizhouTableCell.FillColor; } foreach (var item in alizhouTableCell.Paragraphs) { if (item.Run.Pictures.Count > 0) { Paragraph paragraph = table.Rows[i].Cells[j].InsertParagraph(); paragraph.Alignment = item.Alignment; item.Run.Pictures.ForEach(t => { Stream stream = t.PictureData != null ? t.PictureData : File.OpenRead(t.PictureUrl); paragraph.InsertPicture(word.AddImage(stream).CreatePicture(t.Width, t.Height)); }); } else { //Formatting formatting = new Formatting //{ // Bold = item.Run.IsBold, // FontColor = item.Run.Color, // FontFamily = new Font(item.Run.FontFamily), // Size = item.Run.FontSize //}; table.Rows[i].Cells[j].Paragraphs[0].Append(item.Run.Text); if (item.Run.IsBold) { table.Rows[i].Cells[j].Paragraphs[0].Bold(); } table.Rows[i].Cells[j].Paragraphs[0].FontSize(item.Run.FontSize); table.Rows[i].Cells[j].Paragraphs[0].Font(item.Run.FontFamily); table.Rows[i].Cells[j].Paragraphs[0].Color(item.Run.Color); table.Rows[i].Cells[j].Paragraphs[0].Alignment = item.Alignment; } } } } return(table); }