C#动态生成Word文档并填充数据1、添加引用-COM-MicrosoftWord11.0ObjectLibrary2、在.cs文件中添加usingWord;下面的例子中包括C#对Word文档的创建、插入表格、设置样式等操作:(例子中代码有些涉及数据信息部分被省略,重要是介绍一些C#操作word文档的方法)publicstringCreateWordFile(stringCheckedInfo){stringmessage=;try{ObjectNothing=System.Reflection.Missing.Value;Directory.CreateDirectory(C:/CNSI);//创建文件所在目录stringname=CNSI_+DateTime.Now.ToShortString()+.doc;objectfilename=C://CNSI//+name;//文件保存路径//创建Word文档Word.ApplicationWordApp=newWord.ApplicationClass();Word.DocumentWordDoc=WordApp.Documents.Add(//添加页眉WordApp.ActiveWindow.View.Type=WdViewType.wdOutlineView;WordApp.ActiveWindow.View.SeekView=WdSeekView.wdSeekPrimaryHeader;WordApp.ActiveWindow.ActivePane.Selection.InsertAfter([页眉内容]);WordApp.Selection.ParagraphFormat.Alignment=Word.WdParagraphAlignment.wdAlignParagraphRight;设置右对齐WordApp.ActiveWindow.View.SeekView=WdSeekView.wdSeekMainDocument;跳出页眉设置WordApp.Selection.ParagraphFormat.LineSpacing=15f;设置文档的行间距//移动焦点并换行objectcount=14;objectWdLine=Word.WdUnits.wdLine;//换一行;WordApp.Selection.MoveDown(refWdLine,refcount,移动焦点WordApp.Selection.TypeParagraph();//插入段落//文档中创建表格Word.TablenewTable=WordDoc.Tables.Add(WordApp.Selection.Range,12,3,//设置表格样式newTable.Borders.OutsideLineStyle=Word.WdLineStyle.wdLineStyleThickThinLargeGap;newTable.Borders.InsideLineStyle=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=Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;垂直居中WordApp.Selection.ParagraphFormat.Alignment=Word.WdParagraphAlignment.wdAlignParagraphCenter;水平居中//填充表格内容newTable.Cell(2,1).Range.Text=产品基本信息;newTable.Cell(2,1).Range.Font.Color=Word.WdColor.wdColorDarkBlue;设置单元格内字体颜色//合并单元格newTable.Cell(2,1).Merge(newTable.Cell(2,3));WordApp.Selection.Cells.VerticalAlignment=Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;//填充表格内容newTable.Cell(3,1).Range.Text=品牌名称:;newTable.Cell(3,2).Range.Text=BrandName;//纵向合并单元格newTable.Cell(3,3).Select();//选中一行objectmoveUnit=Word.WdUnits.wdLine;objectmoveCount=5;objectmoveExtend=Word.WdMovementType.wdExtend;WordApp.Selection.MoveDown(refmoveUnit,refmoveCount,WordApp.Selection.Cells.Merge();//插入图片stringFileName=Picture;//图片所在路径objectLinkToFile=false;objectSaveWithDocument=true;objectAnchor=WordDoc.Application.Selection.Range;WordDoc.Application.ActiveDocument.InlineShapes.AddPicture(FileName,WordDoc.Application.ActiveDocument.InlineShapes[1].Width=100f;图片宽度WordDoc.Application.ActiveDocument.InlineShapes[1].Height=100f;图片高度//将图片设置为四周环绕型Word.Shapes=WordDoc.Application.ActiveDocument.InlineShapes[1].ConvertToShape();s.WrapFormat.Type=Word.WdWrapType.wdWrapSquare;newTable.Cell(12,1).Range.Text=产品特殊属性;newTable.Cell(12,1).Merge(newTable.Cell(12,3));//在表格中增加行WordDoc.Content.Tables[1].Rows.Add(refNothing);WordDoc.Paragraphs.Last.Range.Text=文档创建时间:+DateTime.Now.ToString();//“落款”WordDoc.Paragraphs.Last.Alignment=Word.WdParagraphAlignment.wdAlignParagraphRight;//文件保存WordDoc.SaveAs(reffilename,refNothing,refNothing,WordDoc.Close(refNothing,refNothing,refNothing);WordApp.Quit(refNothing,refNothing,refNothing);message=name+文档生成成功,以保存到C:CNSI下;}catch{message=文件导出异常!;}returnmessage;}