版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 國畫故宮課件教學(xué)課件
- 2024年保衛(wèi)服務(wù)合同
- (完整版)特種設(shè)備應(yīng)急預(yù)案
- 2024年建筑工地木工班組勞務(wù)承包合同
- 2024年度生態(tài)補(bǔ)償機(jī)制實(shí)施合同
- 2024年應(yīng)急運(yùn)輸響應(yīng)合同
- 激勵(lì)學(xué)生課件教學(xué)課件
- 2024年度教育設(shè)備采購與維護(hù)合同
- 2024年度歐洲汽車制造與銷售合同
- 2024年大宗商品物流合同
- 醫(yī)院電氣安全知識(shí)培訓(xùn)
- 上海市虹口區(qū)2024學(xué)年第一學(xué)期期中考試初三物理試卷-教師版
- 2024-2025學(xué)年八年級(jí)上學(xué)期英語期中模擬試卷(譯林版+含答案解析)
- 駕駛證學(xué)法減分(學(xué)法免分)試題和答案(50題完整版)1650
- 半期評(píng)估試卷(1-4單元)-2024-2025學(xué)年四年級(jí)上冊(cè)數(shù)學(xué)北師大版
- python程序設(shè)計(jì)-說課
- XX學(xué)校推廣應(yīng)用“國家中小學(xué)智慧教育平臺(tái)”工作實(shí)施方案
- 失業(yè)保險(xiǎn)待遇申請(qǐng)表
- 220KV線路運(yùn)維實(shí)施方案
- 計(jì)算材料學(xué)實(shí)驗(yàn)(燕友果)實(shí)驗(yàn)七利用 material studio研究晶體材料性能
- 網(wǎng)格員個(gè)人述職報(bào)告范文
評(píng)論
0/150
提交評(píng)論