900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > C# - 生成Word文档(包含插入行 表格 图片 合并等)

C# - 生成Word文档(包含插入行 表格 图片 合并等)

时间:2021-06-23 01:42:17

相关推荐

C# - 生成Word文档(包含插入行 表格 图片 合并等)

转自:/lj102800/article/details/6106451

1.引入COM组件

在解决方案中“引用”->“添加引用”,在弹出的窗口中,选择Com选项卡,然后找到Micorsoft Word 16.0 Object Library组件,点击确定,可以看到“引用”目录下增加了Word、Microsoft.Office.Core和VBIDE三个Assembly。

2.代码

using Word = Microsoft.Office.Interop.Word;public string CreateWordFile(string CheckedInfo){string message = "";try{Object Nothing = System.Reflection.Missing.Value;Directory.CreateDirectory("C:/CNSI"); //创建文件所在目录string name = "CNSI_" + DateTime.Now.ToLongDateString() + ".doc";object filename = "C://CNSI//" + name; //文件保存路径//创建Word文档Microsoft.Office.Interop.Word.Application WordApp = new Microsoft.Office.Interop.Word.ApplicationClass();Microsoft.Office.Interop.Word.Document WordDoc = WordApp.Documents.Add(ref Nothing, ref Nothing, ref Nothing, ref Nothing);//添加页眉WordApp.ActiveWindow.View.Type = WdViewType.wdOutlineView;WordApp.ActiveWindow.View.SeekView = WdSeekView.wdSeekPrimaryHeader;WordApp.ActiveWindow.ActivePane.Selection.InsertAfter("[页眉内容]");WordApp.Selection.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphRight;//设置右对齐WordApp.ActiveWindow.View.SeekView = WdSeekView.wdSeekMainDocument;//跳出页眉设置WordApp.Selection.ParagraphFormat.LineSpacing = 15f;//设置文档的行间距//移动焦点并换行object count = 14;object WdLine = Microsoft.Office.Interop.Word.WdUnits.wdLine;//换一行;WordApp.Selection.MoveDown(ref WdLine, ref count, ref Nothing);//移动焦点WordApp.Selection.TypeParagraph();//插入段落//文档中创建表格Microsoft.Office.Interop.Word.Table newTable = WordDoc.Tables.Add(WordApp.Selection.Range, 12, 3, ref Nothing, ref Nothing);//设置表格样式newTable.Borders.OutsideLineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleThickThinLargeGap;newTable.Borders.InsideLineStyle = Microsoft.Office.Interop.Word.WdLineStyle.wdLineStyleSingle;newTable.Columns[1].Width = 100f;newTable.Columns[2].Width = 220f;newTable.Columns[3].Width = 105f;//填充表格内容newTable.Cell(1, 1).Range.Text = "产品详细信息表";newTable.Cell(1, 1).Range.Bold = 2;//设置单元格中字体为粗体//合并单元格newTable.Cell(1, 1).Merge(newTable.Cell(1, 3));WordApp.Selection.Cells.VerticalAlignment = Microsoft.Office.Interop.Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;//垂直居中WordApp.Selection.ParagraphFormat.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphCenter;//水平居中//填充表格内容newTable.Cell(2, 1).Range.Text = "产品基本信息";newTable.Cell(2, 1).Range.Font.Color = Microsoft.Office.Interop.Word.WdColor.wdColorDarkBlue;//设置单元格内字体颜色//合并单元格newTable.Cell(2, 1).Merge(newTable.Cell(2, 3));WordApp.Selection.Cells.VerticalAlignment = Microsoft.Office.Interop.Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;//填充表格内容newTable.Cell(3, 1).Range.Text = "品牌名称:";newTable.Cell(3, 2).Range.Text = "BrandName";//纵向合并单元格newTable.Cell(3, 3).Select();//选中一行object moveUnit = Microsoft.Office.Interop.Word.WdUnits.wdLine;object moveCount = 5;object moveExtend = Microsoft.Office.Interop.Word.WdMovementType.wdExtend;WordApp.Selection.MoveDown(ref moveUnit, ref moveCount, ref moveExtend);WordApp.Selection.Cells.Merge();//插入图片string FileName = @"J:/C#/WebApplication1/images/login_3(3).gif";//图片所在路径object LinkToFile = false;object SaveWithDocument = true;object Anchor = WordDoc.Application.Selection.Range;WordDoc.Application.ActiveDocument.InlineShapes.AddPicture(FileName, ref LinkToFile, ref SaveWithDocument, ref Anchor);WordDoc.Application.ActiveDocument.InlineShapes[1].Width = 100f;//图片宽度WordDoc.Application.ActiveDocument.InlineShapes[1].Height = 100f;//图片高度//将图片设置为四周环绕型Microsoft.Office.Interop.Word.Shape s = WordDoc.Application.ActiveDocument.InlineShapes[1].ConvertToShape();s.WrapFormat.Type = Microsoft.Office.Interop.Word.WdWrapType.wdWrapSquare;newTable.Cell(12, 1).Range.Text = "产品特殊属性";newTable.Cell(12, 1).Merge(newTable.Cell(12, 3));//在表格中增加行WordDoc.Content.Tables[1].Rows.Add(ref Nothing);WordDoc.Paragraphs.Last.Range.Text = "文档创建时间:" + DateTime.Now.ToString();//“落款”WordDoc.Paragraphs.Last.Alignment = Microsoft.Office.Interop.Word.WdParagraphAlignment.wdAlignParagraphRight;//文件保存WordDoc.SaveAs(ref filename, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing, ref Nothing);WordDoc.Close(ref Nothing, ref Nothing, ref Nothing);WordApp.Quit(ref Nothing, ref Nothing, ref Nothing);message = name + "文档生成成功,以保存到C:CNSI下";}catch{message = "文件导出异常!";}return message;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。