德州扑克fcf:制作word模版,供C#程序創建基于模版的word文檔2

來源:互聯網 編輯:李元芳 手機版

德州扑克谁发明的 www.mvlaf.icu

C#程序通過模板自動創建Word文檔2

引言:前段時間有項目要用c#生成Word格式的計算報告,通過網絡查找到很多內容,但是都很凌亂,于是自己決定將具體的步驟總結整理出來,以便于更好的交流和以后相似問題可以迅速的解決!

現通過具體的示例演示具體的步驟:第一步,制作模板

1,新建一個文檔,文檔內容如下:

圖1

2,在相應位置插入書簽;將鼠標定位到要插入書簽的位置,點擊“插入”>“書簽”,彈出對話框,輸入書簽名,點擊“添加”按鈕,書簽位置如圖3所示

圖2

圖3

3,保存模板,命名為“模板1.dot”或者“模板1.doc”

圖4第二步,設置項目中的引用

1,右擊“解決方案資源管理器”中的項目目錄下的“引用”,選擇“添加引用”,打開“添加引用”對話框

圖5

2,在“添加引用”對話框中,選擇“COM”>“Microsoft Word 11.0 Object Library”,點擊“確定”按鈕

圖6

3,相同操作打開“添加引用”對話框中,選擇“瀏覽”項,查找到”Microsoft.Office.Interop.Word.dll”文件,選中它,點擊“確定”按鈕

圖7

注意:此處要查找的“Microsoft.Office.Interop.Word.dll”版本必須為“11.*.*.*”,“*”代表數字第三步,編碼

這一步分成兩個部分第一部分,Report類的編碼

這部分我已經封裝好,為文件“Report.cs”,可以直接使用

代碼如下:(有比較詳細的注釋)

using System;

using System.Collections.Generic;

using System.Text;

using Microsoft.Office.Interop.Word;

namespace MYNAMESPACE //這邊需要換成自己的命名空間名

{

class Report

{

private _Application wordApp = null;

private _Document wordDoc = null;

public _Application Application

{

get

{

return wordApp;

}

set

{

wordApp = value;

}

}

public _Document Document

{

get

{

return wordDoc;

}

set

{

wordDoc = value;

}

}

//通過模板創建新文檔

public void CreateNewDocument(string filePath)

{

killWinWordProcess();

wordApp = new ApplicationClass();

wordApp.DisplayAlerts = WdAlertLevel.wdAlertsNone;

wordApp.Visible = false;

object missing = System.Reflection.Missing.Value;

object templateName = filePath;

wordDoc = wordApp.Documents.Open(ref templateName, ref missing,

ref missing, ref missing, ref missing, ref missing, ref missing,

ref missing, ref missing, ref missing, ref missing, ref missing,

ref missing, ref missing, ref missing, ref missing);

}

//保存新文件

public void SaveDocument(string filePath)

{

object fileName = filePath;

object format = WdSaveFormat.wdFormatDocument;//保存格式

object miss = System.Reflection.Missing.Value;

wordDoc.SaveAs(ref fileName, ref format, ref miss,

ref miss, ref miss, ref miss, ref miss,

ref miss, ref miss, ref miss, ref miss,

ref miss, ref miss, ref miss, ref miss,

ref miss);

//關閉wordDoc,wordApp對象

object SaveChanges = WdSaveOptions.wdSaveChanges;

object OriginalFormat = WdOriginalFormat.wdOriginalDocumentFormat;

object RouteDocument = false;

wordDoc.Close(ref SaveChanges, ref OriginalFormat, ref RouteDocument);

wordApp.Quit(ref SaveChanges, ref OriginalFormat, ref RouteDocument);

}

//在書簽處插入值

public bool InsertValue(string bookmark, string value)

{

object bkObj = bookmark;

if (wordApp.ActiveDocument.Bookmarks.Exists(bookmark))

{

wordApp.ActiveDocument.Bookmarks.get_Item(ref bkObj).Select();

wordApp.Selection.TypeText(value);

return true;

}

return false;

}

//插入表格,bookmark書簽

public Table InsertTable(string bookmark, int rows, int columns, float width)

{

object miss = System.Reflection.Missing.Value;

object oStart = bookmark;

Range range = wordDoc.Bookmarks.get_Item(ref oStart).Range;//表格插入位置

Table newTable = wordDoc.Tables.Add(range, rows, columns, ref miss, ref miss);

//設置表的格式

newTable.Borders.Enable = 1; //允許有邊框,默認沒有邊框(為0時報錯,1為實線邊框,2、3為虛線邊框,以后的數字沒試過)

newTable.Borders.OutsideLineWidth = WdLineWidth.wdLineWidth050pt;//邊框寬度

if (width != 0)

{

newTable.PreferredWidth = width;//表格寬度

}

newTable.AllowPageBreaks = false;

return newTable;

}

//合并單元格 表名,開始行號,開始列號,結束行號,結束列號

public void MergeCell(Microsoft.Office.Interop.Word.Table table, int row1, int column1, int row2, int column2)

{

table.Cell(row1, column1).Merge(table.Cell(row2, column2));

}

//設置表格內容對齊方式 Align水平方向,Vertical垂直方向(左對齊,居中對齊,右對齊分別對應Align和Vertical的值為-1,0,1)

public void SetParagraph_Table(Microsoft.Office.Interop.Word.Table table, int Align, int Vertical)

{

switch (Align)

{

case -1: table.Range.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphLeft; break;//左對齊

case 0: table.Range.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphCenter; break;//水平居中

case 1: table.Range.ParagraphFormat.Alignment = WdParagraphAlignment.wdAlignParagraphRight; break;//右對齊

}

switch (Vertical)

{

case -1: table.Range.Cells.VerticalAlignment = WdCellVerticalAlignment.wdCellAlignVerticalTop; break;//頂端對齊

case 0: table.Range.Cells.VerticalAlignment = WdCellVerticalAlignment.wdCellAlignVerticalCenter; break;//垂直居中

case 1: table.Range.Cells.VerticalAlignment = WdCellVerticalAlignment.wdCellAlignVerticalBottom; break;//底端對齊

}

}

//設置表格字體

public void SetFont_Table(Microsoft.Office.Interop.Word.Table table, string fontName, double size)

{

if (size != 0)

{

table.Range.Font.Size = Convert.ToSingle(size);

}

if (fontName != \)

{

table.Range.Font.Name = fontName;

}

}

//是否使用邊框,n表格的序號,use是或否

public void UseBorder(int n,bool use)

{

if (use)

{

wordDoc.Content.Tables[n].Borders.Enable = 1; //允許有邊框,默認沒有邊框(為0時報錯,1為實線邊框,2、3為虛線邊框,以后的數字沒試過)

}

else

{

wordDoc.Content.Tables[n].Borders.Enable = 2; //允許有邊框,默認沒有邊框(為0時報錯,1為實線邊框,2、3為虛線邊框,以后的數字沒試過)

}

}

//給表格插入一行,n表格的序號從1開始記

public void AddRow(int n)

{

object miss = System.Reflection.Missing.Value;

wordDoc.Content.Tables[n].Rows.Add(ref miss);

}

//給表格添加一行

public void AddRow(Microsoft.Office.Interop.Word.Table table)

{

object miss = System.Reflection.Missing.Value;

table.Rows.Add(ref miss);

}

//給表格插入rows行,n為表格的序號

public void AddRow(int n, int rows)

{

object miss = System.Reflection.Missing.Value;

Microsoft.Office.Interop.Word.Table table = wordDoc.Content.Tables[n];

for (int i = 0; i < rows; i++)

{

table.Rows.Add(ref miss);

}

}

//給表格中單元格插入元素,table所在表格,row行號,column列號,value插入的元素

public void InsertCell(Microsoft.Office.Interop.Word.Table table, int row, int column, string value)

{

table.Cell(row, column).Range.Text = value;

}

//給表格中單元格插入元素,n表格的序號從1開始記,row行號,column列號,value插入的元素

public void InsertCell(int n, int row, int column, string value)

{

wordDoc.Content.Tables[n].Cell(row, column).Range.Text = value;

}

//給表格插入一行數據,n為表格的序號,row行號,columns列數,values插入的值

public void InsertCell(int n, int row, int columns, string[] values)

{

Microsoft.Office.Interop.Word.Table table = wordDoc.Content.Tables[n];

for (int i = 0; i < columns; i++)

{

table.Cell(row, i + 1).Range.Text = values[i];

}

}

//插入圖片

public void InsertPicture(string bookmark, string picturePath, float width, float hight)

{

object miss = System.Reflection.Missing.Value;

object oStart = bookmark;

Object linkToFile = false; //圖片是否為外部鏈接

Object saveWithDocument = true; //圖片是否隨文檔一起保存

object range = wordDoc.Bookmarks.get_Item(ref oStart).Range;//圖片插入位置

wordDoc.InlineShapes.AddPicture(picturePath, ref linkToFile, ref saveWithDocument, ref range);

wordDoc.Application.ActiveDocument.InlineShapes[1].Width = width; //設置圖片寬度

wordDoc.Application.ActiveDocument.InlineShapes[1].Height = hight; //設置圖片高度

}

//插入一段文字,text為文字內容

public void InsertText(string bookmark, string text)

{

object oStart = bookmark;

object range = wordDoc.Bookmarks.get_Item(ref oStart).Range;

Paragraph wp = wordDoc.Content.Paragraphs.Add(ref range);

wp.Format.SpaceBefore = 6;

wp.Range.Text = text;

wp.Format.SpaceAfter = 24;

wp.Range.InsertParagraphAfter();

wordDoc.Paragraphs.Last.Range.Text = \;

}

// 殺掉winword.exe進程

public void killWinWordProcess()

{

System.Diagnostics.Process[] processes = System.Diagnostics.Process.GetProcessesByName(\);

foreach (System.Diagnostics.Process process in processes)

{

bool b = process.MainWindowTitle == \;

if (process.MainWindowTitle == \)

{

process.Kill();

}

}

}

}

}第二部分,具體生成文檔的編碼

代碼見下文:

1,首先需要載入模板

Report report = new Report();

report.CreateNewDocument(TemPath); //模板路徑

2,插入一個值

report.InsertValue(\, \世界杯\);//在書簽“Bookmark_value”處插入值

3,創建一個表格

Table table = report.InsertTable(\, 2, 3, 0); //在書簽“Bookmark_table”處插入2行3列行寬最大的表

4,合并單元格

report.MergeCell(table, 1, 1, 1, 3); //表名,開始行號,開始列號,結束行號,結束列號

5,表格添加一行

report.AddRow(table); //表名

6,在單元格中插入值

report.InsertCell(table, 2, 1, \2C1\);//表名,行號,列號,值

7,設置表格中文字的對齊方式

report.SetParagraph_Table(table, -1, 0);//水平方向左對齊,垂直方向居中對齊

8,設置表格字體

report.SetFont_Table(table, \宋體\, 9);//宋體9磅

9,給現有的表格添加一行

report.AddRow(1); //給模板中第一個表格添加一行

10,確定現有的表格是否使用邊框

report.UseBorder(1, true); //模板中第一個表格使用實線邊框

11,給現有的表格添加多行

report.AddRow(1, 2); //給模板中第一個表格插入2行

制作word模版,供C#程序創建基于模版的word文檔2.doc

制作word模版,供C#程序創建基于模版的word文檔2 - C#程序通過模板自...[本文更多相關]

通過c#創建基于模板的Word文檔.doc

通過c#創建基于模板的Word文檔_IT/計算機_專業資料。自己整理的c#對word文檔的操作,有詳細源碼C#程序通過模板自動創建Word文檔 程序通過模板自動創建Word文檔 Word 引言......[本文更多相關]

C#根據word模板生成word表格報表文檔.doc

C#根據word模板生成word表格報表文檔_計算機軟件及應用_IT/計算機_專業資料。C#根據...報表文檔,注意引用 Interop.Word.dll; 首先要生成 word 程序對象 Word.......[本文更多相關]

word模板生成word表格報表文檔(C#).doc

word模板生成word表格報表文檔(C#)_計算機軟件及應用_IT/計算機_專業資料。表格報表文檔(C#) 根據 word 模板生成 word 表格報表文檔主要功能為根據word模板生成word......[本文更多相關]

C#編程實現動態生成word文檔.doc

如何用 C#編程實現動態生成 Word 文檔并填充數據的效果呢?要使用 C#操作 word,首先要添加引用: 1、添加引用->COM->Microsoft Word 11.0 Object Library 2、在......[本文更多相關]

c#創建Word文檔(可插入數據,表格,文字,圖片).doc

C#程序通過模板自動創建Word文檔引言:前段時間有項目要用c#生成Word格式...[本文更多相關]

C#如何打印word模板.doc

暫無評價|0人閱讀|0次下載 | 舉報文檔 C#如何打印word模板_計算機軟件及應用_...wordTable.Cell(18 + i, 3).Range.Text = "測試 2 列" + i + "行"......[本文更多相關]

c#操作word模板插入文字、圖片及表格.doc

c#操作word模板插入文字、圖片及表格_圖片/文字技巧_PPT制作技巧_實用文檔。c#...2.建立 web 應用程序 加入 Microsoft.Office.Interop.Word 引用 具體添加引用請......[本文更多相關]

C#+使用Word模板做報表套打(不使用書簽).doc

C#+使用Word模板做報表套打(不使用書簽)_IT/計算機_專業資料。Word模板做報表套...在Word2007中使用表格模... 2頁 免費喜歡此文檔的還喜歡 通過c#創建基于模板的......[本文更多相關]

模版--基于Word2vec 的文檔分類.doc

模版--基于Word2vec 的文檔分類_計算機軟件及應用_IT/計算機_專業資料。多媒體技術實驗報告——基于 Word2vec 的文檔分類 姓名: 學號: 年 月 日 第一章 核心......[本文更多相關]

C#操作Word文件(排版,調整格式).doc

C#操作Word文件(排版,調整格式)_IT/計算機_專業資料...創建 Word 文檔 Microsoft.Office.Interop.Word....(2, 1).Range.Text = "產品基本信息"; new......[本文更多相關]

C#生成Word和兩種方式Word轉Pdf.doc

C# 使用 Aspose.Words 將 Word 轉換成 PDF 遇到的問題總 結首先應用中引入 Aspose.Words dll WORD 轉換成 PDF 代碼如下: /// /// 將word文檔轉換成pdf......[本文更多相關]

...2019】關于.net程序員的自我介紹模板-范文word版 (2....doc

【2018-2019】關于.net程序員的自我介紹模板-范文word版 (2頁)_其它_工作范文_實用文檔?!?018-2019】關于.net 程序員的自我介紹模板-范文 word ......[本文更多相關]

最新 基于VSTO的Word數據自動化提取及報告生成系統的應....doc

,對 Word2010 進行二次開發,通過定制 Word 文檔模板 和 Word 外接程序的開發,對 Word 輸入數據有效性的驗證、Word 數據自動化提 取以及 Word 檢測報告的生成。......[本文更多相關]

C動態生成Word文檔并將數據填入Word表格中.doc

數據填入Word表格中_表格類模板_表格/模板_實用文檔...Word 11.0 Object Library 2、在.cs 文件中添加 ...Word; 下面的例子中包括 C#對 Word 文檔的創建、......[本文更多相關]

Word文檔規范檢查系統剖析.doc

程序,編寫代碼 褚安石:實現頁眉修改,編寫報告 第 2 章 開發工具簡介 2.1 C#...//生成一個 word 文檔 wordApp.Visible = false;//不打開編輯視圖 //獲取......[本文更多相關]

C#操作Word文檔超詳細操作總結大全_圖文.doc

C#操作Word文檔超詳細操作總結大全_計算機軟件及應用_...Application 指向的是 Word 應用程序 經常使用變量: ...//保存 word 文檔 mydoc.SaveAs2(ref path,ref ......[本文更多相關]

C#對word、excel、pdf等格式文件的操作總結.doc

C#對word、excel、pdf等格式文件的操作總結_電腦基礎...的 dot 模版來進 行創建 word、替換 word 等操作...{ return; } /// /// word 文檔資源釋放 ......[本文更多相關]

C#導出Word各種參數.doc

C#導出Word各種參數_調查/報告_表格/模板_實用文檔。...//word文檔變量 wordApp = new MsWord.Application...基于 COM 組件技術開發的,屬于非托管程序,然而 C#......[本文更多相關]

C#讀取Word文檔的詳細例子.doc

C#讀取 Word 文檔的詳細例子 C#讀取 Word 文檔的詳細例子 C#讀取 Word 文檔的...1: 對項目添加引用,Microsoft Word 11.0 Object Library 2: 在程序中添加 ......[本文更多相關]

怎樣把word文檔保存到數據庫中 - 百度文庫.txt

喜歡此文檔的還喜歡 打開的一篇word文檔,保存... 3頁 java生成word,html...C#數據庫 文件下載 網頁制作與設計 高中化學 全冊精品教案 新人教版必修2 4.5......[本文更多相關]

【C#+winform】從數據庫導出數據到word、excel、.txt - 百度文庫.txt

C#連接數據庫3 (2) 5頁 喜歡此文檔的還喜歡 從數據庫導出數據到word... ...//生成.doc文件完整路徑名 filename = DATAWORDPATH+tempFileName+WORDPOSTFIX......[本文更多相關]

從網頁上粘貼到word中的文檔排版技巧.txt

從網頁上粘貼到word中的文檔排版技巧_表格/模板_實用文檔。轉的文檔供大家分享 從網頁上粘貼到word中的文檔排版技巧 互聯網是大家工作和學習的知識海洋,大家經?;?.....[本文更多相關]

Win 7 + Office 2007,打開word出錯:向程序發送命令時出....txt

出錯:向程序發送命令時出現問題,點兩次才能打開文檔...分析如下: Word 啟動時加載 MathType 的一個模板...2.打開C:\\Documents and Settings\\用戶名\\......[本文更多相關]

數據恢復后word亂碼的解決方法.txt

2、打開剛才剛才保存的RTF格式文件,再次使用 “另存為”將文件重新保存為“Word文檔”,現在打開這個word文件就可以發現文件已經被恢復過來了。 如果在轉換成rtf格式......[本文更多相關]

為什么我每打開一個WORD文檔時都會彈出一個“無法注冊....txt

1.word文檔打開的時候提示:無法注冊這篇文檔,不能創建從其他文檔到這篇文檔的鏈接 2.word里不能插入各種對象,viso、projectplan的文檔都不能正確插入重裝office也......[本文更多相關]

淺析C#合并多個WORD文檔的具體實現方法.txt

淺析C#合并多個WORD文檔的具體實現方法_IT/計算機_...148./// 模板文件 149. 150./// ...Word 07快速將多個文檔合... 2頁 免費 2018 Baidu......[本文更多相關]

C#數據導出到Excel(或Word)源代碼.txt

請看: C#數據導出到Excel(或Word)源代碼大全 在...int RowIndex = 2; //開始寫入每列的標題 foreach...//ModelFile為模板文件,該文件與數據源中的表一致......[本文更多相關]

問在C#中如何使用Win32 API中的EM_GETLINE獲取一個Edit....txt

)_調查/報告_表格/模板_實用文檔。調用win32api 問在C#中如何使用Win32 API...我想請問的是我要如何設置緩沖區contentEditBoxLine的first word ---......[本文更多相關]

簡歷搜索關鍵詞和職位_簡歷_求職/職場_實用文檔.txt

熟悉基于Android SDK的應用程序開發; 3、嚴謹的邏輯...通信等相關專業 2、具有.NET/C#開發4年以上開發...熟練使用PPT、Word及Visio等工具; 4.能夠對SQL ......[本文更多相關]

WORD建立宏的模版.txt

暫無評價|0人閱讀|0次下載 | 舉報文檔 WORD建立宏的模版_IT/計算機_...[本文更多相關]

六種方法輕松挽回損壞的Word數據.txt

在打開Word文檔時,如果程序沒有響應,這很有可能是...文件所做的操作,其中:“原始文件”指基于最后一次...五、創建新的Normal模板 Word在Normal.dot模板文件中......[本文更多相關]

office ppt.txt

C#實現office文檔轉換為PDF或xps的一些方法 分類: ...//打開WORD文檔 oWord.Documents docs = word.Documents...1 /2 相關文檔推薦 永久收藏的PPT模板Offic... ......[本文更多相關]

word中如何插入指定的聲音、視頻文件、PPT.txt

word中如何插入指定的聲音、視頻文件、PPT_圖片/文字技巧_PPT制作技巧_實用文檔...2.把Excel表格插入Word文檔已有的表格中 在Excel中選中表格的數據區域并“復制”......[本文更多相關]

Win 7 + Office 2007,打開word出錯:向程序發送命令時出....txt

出錯:向程序發送命令時出現問題,點兩次才能打開文檔...分析如下: Word 啟動時加載 MathType 的一個模板...2.打開C:\\Documents and Settings\\用戶名\\......[本文更多相關]

[制作word模版,供C#程序創建基于模版的word文檔2]相關文章:

  • 【最新文檔】廣告設計制作合同模板-精選word文檔
  • 【最新文檔】廣告設計制作合同模板-精選word文檔
  • 【最新文檔】網頁設計制作個人簡歷模板-推薦word
  • 【最新文檔】網頁設計制作個人簡歷模板-推薦word
  • 【最新文檔】工藝制作創業計劃書-word范文模板
  • 【最新文檔】工藝制作創業計劃書-word范文模板
  • 【參考文檔】制作完美簡歷的6大步驟-word范文模
  • 【參考文檔】制作完美簡歷的6大步驟-word范文模
  • 【最新文檔】個人簡歷制作寶典-word范文模板 (
  • 【最新文檔】個人簡歷制作寶典-word范文模板 (
  • 【參考文檔】201X廣告設計制作合同模板-word
  • 【參考文檔】201X廣告設計制作合同模板-word
  • 【優質文檔】廣告制作報價合同-word范文模板 (
  • 【優質文檔】廣告制作報價合同-word范文模板 (
  • 【參考文檔】倡議書制作模板-易修改word版 (2
  • 【參考文檔】倡議書制作模板-易修改word版 (2
  • 【精品文檔】精選廣告制作合同模板-推薦word版
  • 【精品文檔】精選廣告制作合同模板-推薦word版
  • 【最新文檔】WAP制作網站代理合同-word范文模
  • 【最新文檔】WAP制作網站代理合同-word范文模
  • 制作word模版,供C#程序創建基于模版的word文檔2相關搜索
    最新推薦
    熱門推薦
    重庆时时彩龙虎老群 福建时时十选一 迪马利亚 彩票助赢计划软件如何选择工式 七乐彩综合走势图 双色球走势图带坐标 pk10五码三期投注方法 pk10免费手机版苹果 今天新疆时时开奖码 福建时时现场直播 北京pk10官网视频直播 三分pk10全天精准计划群 重庆开奖历史开奖记录 腾讯分分彩后三组选包胆怎么选号 2018可以网上买彩票吗 三分快三免费计划软件