C#編程實(shí)現(xiàn)動(dòng)態(tài)生成word文檔_第1頁
C#編程實(shí)現(xiàn)動(dòng)態(tài)生成word文檔_第2頁
C#編程實(shí)現(xiàn)動(dòng)態(tài)生成word文檔_第3頁
C#編程實(shí)現(xiàn)動(dòng)態(tài)生成word文檔_第4頁
C#編程實(shí)現(xiàn)動(dòng)態(tài)生成word文檔_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、如何用C#編程實(shí)現(xiàn)動(dòng)態(tài)生成Word文檔并填充數(shù)據(jù)的效果呢?要使用C#操作word,首先要添加引用:1、添加引用 -COM-Microsoft Word11.0 Object Library2、在.cs文件中添加using Word;下面的例子中包括C#寸Word文檔的創(chuàng)建、插入表格、設(shè)置樣式等操作:(例子中代碼有些涉及數(shù)據(jù)信息部分被省略,重要是介紹一些C#操作word文檔的方法)public string CreateWordFile( string CheckedInfo). string message = ;try. Object Nothing = System.Reflection.

2、Missing.Value;Directory.CreateDirectory( C:/CNSI );/ 創(chuàng)建文件所在目錄 string name = CNSI_ +DateTime.Now.ToShortString() + .doc ;object filename = C:/CNSI/ + name; / 文件保存路徑 /創(chuàng)建 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( 頁眉內(nèi)容 );WordApp.Selection.ParagraphFormat.Alignment = Word.WdParagraphAlignment.wdAlign

4、ParagraphRight; /設(shè)置右對(duì)齊WordApp.ActiveWindow.View.SeekView = WdSeekView.wdSeekMainDocument; /跳出頁眉設(shè)置WordApp.Selection.ParagraphFormat.LineSpacing = 15f; / 設(shè)置文檔的行間 距/ 移動(dòng)焦點(diǎn)并換行object count = 14 ;object WdLine = Word.WdUnits.wdLine; / 換一行 ;WordApp.Selection.MoveDown( ref WdLine, ref count, ref Nothing); /

5、移動(dòng)焦點(diǎn)WordApp.Selection.TypeParagraph(); /插入段落/ 文檔中創(chuàng)建表格Word.TablenewTable = WordDoc.Tables.Add(WordApp.Selection.Range, 12 , 3 ,ref Nothing, ref Nothing);/ 設(shè)置表格樣式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;/ 填充表格內(nèi)容newTable.Cell( 1 , 1 ).Range.Text = 產(chǎn)品詳細(xì)信息表 ;newTable.Cell( 1 ,1 ).Range.Bold = 2 ; / 設(shè)置單元格中字體為粗體/ 合并單元格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; /水平居中/ 填充表格內(nèi)容newTable.Cell( 2 , 1 ).Range.Text = 產(chǎn)品基本信息 ;newTable.Cell( 2 ,1 ).Range.Font.Color = Word.WdColor.wdColorDarkBlue

8、; / 設(shè)置單元格內(nèi)字體顏 色/ 合并單元格newTable.Cell( 2 , 1 ).Merge(newTable.Cell( 2 , 3 );WordApp.Selection.Cells.VerticalAlignment =Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;/ 填充表格內(nèi)容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; / 圖 片高度/ 將圖片設(shè)置為四周環(huán)繞型Word.ShapeWordDoc.Application.ActiveDocument.InlineShapes 1 .ConvertToShape();s.WrapFormat.Type = Word.WdWrapType.wdWrapSquare;newTable.Cell( 12 , 1 ).Range.Text = 產(chǎn)品特殊屬性 ;newTable.Cell( 12 ,1 ).Merge(newTable.Cell( 12 , 3 );/ 在表格中增加行WordDoc.C

12、ontent.Tables 1 .Rows.Add( ref Nothing);WordDoc.Paragraphs.Last.Range.Text = 文檔創(chuàng)建時(shí)間: +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 =文件導(dǎo)出異常! ;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;/ 創(chuàng)建文件目錄Directory.CreateDirectory(d:/Test);stri ngn ame 二Test_+DateTime.Now.ToShortDateStri ng() +.doc;/文件保存路徑objectfilename =d:/Test/+ name;/ 創(chuàng)建 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( 頁眉內(nèi)容 );/ 設(shè)置右對(duì)齊WordApp.Selection.ParagraphFormat.Alignment =Word.WdParagraphAlignment.wdAlignParagraphRight;/ 跳出頁眉設(shè)置WordApp.ActiveWindow.View.SeekView二WdSeekView.wdSeekMai nDocume nt;/設(shè)置文檔的行間距WordApp.Selection.ParagraphFormat.LineSpacing = 15f;/ 移動(dòng)焦點(diǎn)并換行objectcount = 14;o

18、bjectWdLi ne = Word.WdU nits.wdLi ne; 換一行WordApp.Selection.MoveDown(refWdLine,refcount,refNothing);/ 移動(dòng)焦點(diǎn)WordApp.Selectio n.TypeParagraph();/插入段落/ 文檔中創(chuàng)建表格Word.TablenewTable = WordDoc.Tables.Add(WordApp.Selection.Range, 12, 3,refNothing,refNothing);/ 設(shè)置表格樣式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;/ 填充表格內(nèi)容newTable.Cell(1, 1).Range.Text =產(chǎn) 品詳細(xì)信息表 ;newTable.Cell(1, 1).Range.Bold = 2;/設(shè)/ 置單元格中字體為粗體/ 合

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;/ 水平居中/ 填充表格內(nèi)容newTable.Cell(2, 1).Range.Text =產(chǎn)品

21、基本信息 ;n ewTable.Cell(2, 1).Ran ge.F on t.Color = Word.WdColor.wdColorDarkBlue;設(shè)置 單元格內(nèi)字體顏色/ 合并單元格newTable.Cell(2, 1).Merge(newTable.Cell(2, 3);WordApp.Selection.Cells.VerticalAlignment =Word.WdCellVerticalAlignment.wdCellAlignVerticalCenter;/ 填充表格內(nèi)容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 ; /圖片高 度/將圖片設(shè)置為四周環(huán)繞型Word.Shapes =WordDoc.Application.ActiveDocument.InlineShapes1.ConvertToShape();s.WrapFormat.Type

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論