版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、如何用C#编程实现动态生成Word文档并填充数据的效果呢?要使用C#操作word,首先要添加引用:1、添加引用 -COM-Microsoft Word11.0 Object Library2、在.cs文件中添加using Word;下面的例子中包括C#寸Word文档的创建、插入表格、设置样式等操作:(例子中代码有些涉及数据信息部分被省略,重要是介绍一些C#操作word文档的方法)public string CreateWordFile( string CheckedInfo). string message = ;try. Object Nothing = System.Reflection.
2、Missing.Value;Directory.CreateDirectory( C:/CNSI );/ 创建文件所在目录 string name = CNSI_ +DateTime.Now.ToShortString() + .doc ;object filename = C:/CNSI/ + name; / 文件保存路径 /创建 Word 文档Word.Application WordApp = new Word.ApplicationClass();Word.DocumentWordDoc = WordApp.Documents.Add( ref Nothing, ref Nothing
3、, refNothing, ref Nothing);/ 添加页眉WordApp.ActiveWindow.View.Type = WdViewType.wdOutlineView;WordApp.ActiveWindow.View.SeekView = WdSeekView.wdSeekPrimaryHeader;WordApp.ActiveWindow.ActivePane.Selection.InsertAfter( 页眉内容 );WordApp.Selection.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlign
4、ParagraphRight; /设置右对齐WordApp.ActiveWindow.View.SeekView = WdSeekView.wdSeekMainDocument; /跳出页眉设置WordApp.Selection.ParagraphFormat.LineSpacing = 15f; / 设置文档的行间 距/ 移动焦点并换行object count = 14 ;object WdLine = Word.WdUnits.wdLine; / 换一行 ;WordApp.Selection.MoveDown( ref WdLine, ref count, ref Nothing); /
5、移动焦点WordApp.Selection.TypeParagraph(); /插入段落/ 文档中创建表格Word.TablenewTable = WordDoc.Tables.Add(WordApp.Selection.Range, 12 , 3 ,ref Nothing, ref Nothing);/ 设置表格样式newTable.Borders.OutsideLineStyle =Word.WdLineStyle.wdLineStyleThickThinLargeGap;newTable.Borders.InsideLineStyle = Word.WdLineStyle.wdLineS
6、tyleSingle;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.Ve
7、rticalAlignment =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
8、; / 设置单元格内字体颜 色/ 合并单元格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 )
9、.Select(); /选中一行object moveUnit = Word.WdUnits.wdLine;object moveCount = 5 ;object moveExtend = Word.WdMovementType.wdExtend;WordApp.Selection.MoveDown( ref moveUnit, ref moveCount, refmoveExtend);WordApp.Selection.Cells.Merge();/ 插入图片string FileName = Picture; / 图片所在路径object LinkToFile = false ;obj
10、ect 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.ActiveDoc
11、ument.InlineShapes 1 .Height = 100f; / 图 片高度/ 将图片设置为四周环绕型Word.ShapeWordDoc.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.C
12、ontent.Tables 1 .Rows.Add( ref Nothing);WordDoc.Paragraphs.Last.Range.Text = 文档创建时间: +DateTime.Now.ToString(); / 落款 ”“WordDoc.Paragraphs.Last.Alignment = Word.WdParagraphAlignment.wdAlignParagraphRight;/ 文件保存WordDoc.SaveAs( ref filename, ref Nothing, ref Nothing, refNothing, ref Nothing,ref Nothing,
13、ref Nothing,ref Nothing,ref Nothing,refNothing, refNothing, refNothing, refNothing, refNothing, refNothing, 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 me
14、ssage;usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Linq;usingSystem.Text;usingSystem.Windows.Forms;usingWord;usingSystem.IO;namespaceWindowsForms_WordpublicpartialclassForm1:FormpublicForm1()I nitializeComponent();privatevoid
15、Form1_Load(objectsender,EventArgse)publicstringCreateWordFile(stringChenkedInfo)stringmessage =;tryobjectNothing = System.Reflection.Missing.Value;/ 创建文件目录Directory.CreateDirectory(d:/Test);stri ngn ame 二Test_+DateTime.Now.ToShortDateStri ng() +.doc;/文件保存路径objectfilename =d:/Test/+ name;/ 创建 word 文档
16、Word.ApplicationWordApp =newWord.ApplicationClass();Word.DocumentWordDoc =WordApp.Documents.Add(refNothing,refNothing,refNothing,refNothing);/ 添加页眉WordApp.ActiveWindow.View.Type =WdViewType.wdOutlineView;WordApp.ActiveWindow.View.SeekView=WdSeekView.wdSeekCurrentPageHeader;WordApp.ActiveWindow.Activ
17、ePane.Selec tion.InsertAfter( 页眉内容 );/ 设置右对齐WordApp.Selection.ParagraphFormat.Alignment =Word.WdParagraphAlignment.wdAlignParagraphRight;/ 跳出页眉设置WordApp.ActiveWindow.View.SeekView二WdSeekView.wdSeekMai nDocume nt;/设置文档的行间距WordApp.Selection.ParagraphFormat.LineSpacing = 15f;/ 移动焦点并换行objectcount = 14;o
18、bjectWdLi ne = Word.WdU nits.wdLi ne; 换一行WordApp.Selection.MoveDown(refWdLine,refcount,refNothing);/ 移动焦点WordApp.Selectio n.TypeParagraph();/插入段落/ 文档中创建表格Word.TablenewTable = WordDoc.Tables.Add(WordApp.Selection.Range, 12, 3,refNothing,refNothing);/ 设置表格样式newTable.Borders.OutsideLineStyle =Word.WdLi
19、neStyle.wdLineStyleThickThinMedGap; newTable.Borders.InsideLineStyle =Word.WdLineStyle.wdLineStyleSingle;newTable.Columns1.Width = 100f;newTable.Columns2.Width = 220f;newTable.Columns3.Width = 105f;/ 填充表格内容newTable.Cell(1, 1).Range.Text =产 品详细信息表 ;newTable.Cell(1, 1).Range.Bold = 2;/设/ 置单元格中字体为粗体/ 合
20、并单元格newTable.Cell(1, 1).Merge(newTable.Cell(1, 3);WordApp.Selection.Cells.VerticalAlignment =Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;/ 垂直居中WordApp.Selection.ParagraphFormat.Alignment =Word.WdParagraphAlig nmen t.wdAlig nParagraphCe nter;/ 水平居中/ 填充表格内容newTable.Cell(2, 1).Range.Text =产品
21、基本信息 ;n ewTable.Cell(2, 1).Ran ge.F on t.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(
22、3, 2).Range.Text =BrandName;/?/ 纵向合并单元格n ewTable.Cell(3, 3).Select();/选中一行objectmoveUnit = Word.WdUnits.wdLine;objectmoveCount = 5;objectmoveExtend = Word.WdMovementType.wdExtend;WordApp.Selection.MoveDown(refmoveUnit,refmoveCount,refmoveExtend);W ordApp.Selection.Cells.Merge();/ 插入图片stringFileName
23、=d:/;/ 图片所在路径objectLinkToFile =false;objectSaveWithDocument =true;objectAnchor = WordDoc.Application.Selection.Range;WordDoc.Application.ActiveDocument.InlineShapes.AddPicture(FileName,refLin kToFile,refSaveWithDocument,refAnchor);WordDoc.Application.ActiveDocument.InlineShapes1.Width = 100f ; /图片高 度/将图片设置为四周环绕型Word.Shapes =WordDoc.Application.ActiveDocument.InlineShapes1.ConvertToShape();s.WrapFormat.Type
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 八年级地理(难点突破)2027年上学期期末考核卷
- 2025-2026年四年级科学(考点过关)下学期期末测试卷
- 2025年大学建筑装饰(装饰设计原理)试题及答案
- 2026年土木工程(混凝土结构)考题及答案
- 高职第一学年(动物医学)动物临床诊疗2026年综合测试题及答案
- 五年级科学(综合探究)2027年下学期期中测评卷
- 2025年高职风电系统运行与维护(风机调试)期末试题
- 2026年用户体验设计流程与方法(标准制定)考题及答案
- 2025年高职生态保护技术(土壤修复实操)试题及答案
- 2025年大学公共项目管理(公共项目管理)试题及答案
- 购车背户协议合同
- 广西投资引导基金有限责任公司招聘考试真题2024
- 三人合作协议合同书
- 2025云南昆明市惠筑建设开发有限公司招聘2人备考题库附答案详解(考试直接用)
- 健康体检中心护士年终总结(4篇)
- 2025山东菏泽市第三人民医院第二批招聘编制备案制人员3人笔试备考题库附答案解析
- 医疗器械培训试题带答案
- F1300-1600钻井泵使用说明书1
- 自愿放弃高考政策照顾加分承诺书
- 二分法查找数据说课
- 前列腺癌临床路径
评论
0/150
提交评论