C#编程实现动态生成word文档_第1页
C#编程实现动态生成word文档_第2页
C#编程实现动态生成word文档_第3页
C#编程实现动态生成word文档_第4页
C#编程实现动态生成word文档_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、如何用C#®程实现动态生成Word文档并填充数据的效果呢?要使用C斛作word,首先要添加引用:I 、添加引用->COM->MicrosoftWordII ."0ObjectLibrary2、在.cs文件中添加usingWord;下面的例子中包括C#寸Word文档的创建、插入表格、设置样式等操作:(例子中代码有些涉及数据信息部分被省略,重要是介绍一些C#!Mword文档的方法)publicstringCreateWordFile(stringCheckedInfo).stringmessage=""try.ObjectNothing=Syst

2、em.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.Docum

3、ents.Add(refNothing,refNothing,refNothing,refNothing);/添加页眉WordApp.ActiveWindow.View.Type=WdViewType.wdOutlineView;WordApp.ActiveWindow.View.SeekView=WdSeekView.wdSeekPrimaryHeader;WordApp.ActiveWindow.ActivePane.Selection.InsertAfter("页眉内容");WordApp.Selection.ParagraphFormat.Alignment=Wor

4、d.WdParagraphAlignment.wdAlignParagraphRight;/设置右对齐WordApp.ActiveWindow.View.SeekView=WdSeekView.wdSeekMainDocument;/跳出页眉设置WordApp.Selection.ParagraphFormat.LineSpacing=15f;/设置文档的行间距/移动焦点并换行objectcount=14;objectWdLine=Word.WdUnits.wdLine;/换一行;WordApp.Selection.MoveDown(refWdLine,refcount,refNothing)

5、;/移动焦点WordApp.Selection.TypeParagraph();/插入段落/文档中创建表格Word.TablenewTable=WordDoc.Tables.Add(WordApp.Selection.Range,12,3,refNothing,refNothing);/设置表格样式newTable.Borders.OutsideLineStyle=Word.WdLineStyle.wdLineStyleThickThinLargeGap;newTable.Borders.InsideLineStyle=Word.WdLineStyle.wdLineStyleSingle;ne

6、wTable.Columns1.Width=100f;newTable.Columns2.Width=220f;newTable.Columns3.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.WdCellVerticalAlig

7、nment.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(new

8、Table.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

9、;objectmoveExtend=Word.WdMovementType.wdExtend;WordApp.Selection.MoveDown(refmoveUnit,refmoveCount,refmoveExtend);WordApp.Selection.Cells.Merge();/插入图片stringFileName=Picture;/图片所在路径objectLinkToFile=false;objectSaveWithDocument=true;objectAnchor=WordDoc.Application.Selection.Range;WordDoc.Application

10、.ActiveDocument.InlineShapes.AddPicture(FileName,refLinkToFile,refSaveWithDocument,refAnchor);WordDoc.Application.ActiveDocument.InlineShapes1.Width=100f;/图片宽度WordDoc.Application.ActiveDocument.InlineShapes1.Height=100f;/图片高度/将图片设置为四周环绕型Word.Shapes=WordDoc.Application.ActiveDocument.InlineShapes1.Co

11、nvertToShape();s.WrapFormat.Type=Word.WdWrapType.wdWrapSquare;newTable.Cell(12,1).Range.Text="产品特殊属性"newTable.Cell(12,1).Merge(newTable.Cell(12,3);/在表格中增加行WordDoc.Content.Tables1.Rows.Add(refNothing);WordDoc.Paragraphs.Last.Range.Text="文档创建时间:"+DateTime.Now.ToString();/落款”“WordDo

12、c.Paragraphs.Last.Alignment=Word.WdParagraphAlignment.wdAlignParagraphRight;/文件保存WordDoc.SaveAs(reffilename,refNothing,refNothing,refNothing,refNothing,refNothing,refNothing,refNothing,refNothing,refNothing,refNothing,refNothing,refNothing,refNothing,refNothing,refNothing);WordDoc.Close(refNothing,r

13、efNothing,refNothing);WordApp.Quit(refNothing,refNothing,refNothing);message=name+"文档生成成功,以保存到C:CNSI下”;catch.message="文件导出异常!"returnmessage;usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usi

14、ngSystem.Windows.Forms;usingWord;usingSystem.IO;namespaceWindowsForms_WordpublicpartialclassForm1:FormpublicForm1()InitializeComponent();privatevoidForm1_Load(objectsender,EventArgse)publicstringCreateWordFile(stringChenkedInfo)stringmessage=""tryobjectNothing=System.Reflection.Missing.Val

15、ue;/创建文件目录Directory.CreateDirectory("d:/Test");stringname="Test_"+DateTime.Now.ToShortDateString()+".doc"/收件保存路径objectfilename="d:/Test/"+name;/创建word文档Word.ApplicationWordApp=newWord.ApplicationClass();Word.DocumentWordDoc=WordApp.Documents.Add(refNothing,ref

16、Nothing,refNothing,refNothing);/添加页眉WordApp.ActiveWindow.View.Type=WdViewType.wdOutlineView;WordApp.ActiveWindow.View.SeekView=WdSeekView.wdSeekCurrentPageHeader;WordApp.ActiveWindow.ActivePane.Selection.InsertAfter("页眉内容");/设置右对齐WordApp.Selection.ParagraphFormat.Alignment=Word.WdParagraph

17、Alignment.wdAlignParagraphRight;/跳出页眉设置WordApp.ActiveWindow.View.SeekView=WdSeekView.wdSeekMainDocument;/股置文档的行间距WordApp.Selection.ParagraphFormat.LineSpacing=15f;/移动焦点并换行objectcount=14;objectWdLine=Word.WdUnits.wdLine;/换一行WordApp.Selection.MoveDown(refWdLine,refcount,refNothing);/移动焦点WordApp.Select

18、ion.TypeParagraph();/fif入段落/文档中创建表格Word.TablenewTable=WordDoc.Tables.Add(WordApp.Selection.Range,12,3,refNothing,refNothing);/设置表格样式newTable.Borders.OutsideLineStyle=Word.WdLineStyle.wdLineStyleThickThinMedGap;newTable.Borders.InsideLineStyle=Word.WdLineStyle.wdLineStyleSingle;newTable.Columns1.Widt

19、h=100f;newTable.Columns2.Width=220f;newTable.Columns3.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.wdCellAlignVer

20、ticalCenter;垂直居中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

21、.Selection.Cells.VerticalAlignment=Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;/填充表格内容newTable.Cell(3,1).Range.Text=品牌名称:"H.newTable.Cell(3,2).Range.Text="BrandName"/?/纵向合并单元格newTable.Cell(3,3).Select();/娃中一行objectmoveUnit=Word.WdUnits.wdLine;objectmoveCount=5;objectmoveExt

22、end=Word.WdMovementType.wdExtend;WordApp.Selection.MoveDown(refmoveUnit,refmoveCount,refmoveExtend);WordApp.Selection.Cells.Merge();/插入图片stringFileName="d:/"/图片所在路径objectLinkToFile=false;objectSaveWithDocument=true;objectAnchor=WordDoc.Application.Selection.Range;WordDoc.Application.ActiveDocument.InlineShapes.AddPicture(FileName,refLinkToFile,refSaveWithDocument,refAnchor);WordDoc.Application.ActiveDocument.InlineShapes1.Width=100f;图片高度/将图片设置为四周环绕型Word.Shapes=WordDoc.Application.ActiveDocument.InlineShapes1.ConvertToShape();s.WrapFormat.Type=Word.WdWrapType.wdWrapSquare;newTable

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论